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("goUpMenu"); scrTheme = GetValue("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().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 } } }