FM/Assets/Scripts/Runtime/UI/Logic/ThemeUI.cs

77 lines
1.8 KiB
C#

using Runtime.UI.Other;
using UnityEngine.UI;
using TMPro;
using UnityEngine;
namespace HK
{
public class ThemeUI : UIBase
{
[SerializeField] private UpMenuItem goUpMenu;
[SerializeField] private ScrollRect scrTheme;
public override void OnInit()
{
base.OnInit();
#region AutoGen_Init
goUpMenu = GetValue<UpMenuItem>("goUpMenu");
scrTheme = GetValue<ScrollRect>("scrTheme");
scrTheme.onValueChanged.AddListener(OnValueChangedscrTheme);
#endregion
var content = scrTheme.content;
for (var i = 0; i < content.childCount; i++)
{
var child = content.GetChild(i);
if (child.gameObject.activeSelf)
child.GetComponent<ButtonCarryData>().OnClickTheme += OnClickTheme;
}
goUpMenu.OnClickReturn += Return;
}
private void Return()
{
UIManager.Instance.BackLast();
}
private void OnClickTheme(string arg1, int arg2, float arg3)
{
PlayerPersistent.SetInt("ThemeIndex", arg2);
UIManager.Instance.ShowUIOnly(nameof(ChooseProductUI));
}
public override void OnOpen()
{
base.OnOpen();
goUpMenu.OnShow();
}
#region AutoGen_Method
private void OnValueChangedscrTheme(Vector2 v)
{
}
#endregion
public override void OnDispose()
{
base.OnDispose();
goUpMenu.OnClickReturn -= Return;
#region AutoGen_Dispose
scrTheme.onValueChanged.RemoveListener(OnValueChangedscrTheme);
goUpMenu = null;
scrTheme = null;
#endregion
}
}
}