using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TableConfig; using UnityEngine.Events; namespace Snxxz.UI { public class GMCmdPanel : Window { [SerializeField] private ScrollerController _cmdCtrl; [SerializeField] private Button _closeBtn; GMCmdModel _cmdModel; GMCmdModel cmdModel { get { return _cmdModel ?? (_cmdModel = ModelCenter.Instance.GetModel()); } } protected override void BindController() { _cmdCtrl.OnRefreshCell += RefreshCmdCell; } protected override void AddListeners() { _closeBtn.onClick.AddListener(OnClickCloseBtn); } protected override void OnPreOpen() { CreateCmdCell(); } protected override void OnAfterOpen() { this.transform.SetAsLastSibling(); } protected override void OnPreClose() { } protected override void OnAfterClose() { } private void CreateCmdCell() { _cmdCtrl.Refresh(); var allKeys = Config.Instance.GetAllKeys(); foreach (var key in allKeys) { _cmdCtrl.AddCell(ScrollerDataType.Header, int.Parse(key)); } _cmdCtrl.Restart(); } private void RefreshCmdCell(ScrollerDataType type, CellView cell) { Button cellBtn = cell.GetComponent