using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; public class GMCmdPanel : UIBase { [SerializeField] private ScrollerController _cmdCtrl; [SerializeField] private Button _closeBtn; GMCmdManager _cmdModel; GMCmdManager cmdModel{ get { return GMCmdManager.Instance; } } protected override void InitComponent() { _closeBtn.AddListener(OnClickCloseBtn); } protected override void OnPreOpen() { base.OnPreOpen(); _cmdCtrl.OnRefreshCell += RefreshCmdCell; CreateCmdCell(); } protected override void OnOpen() { base.OnOpen(); this.transform.SetAsLastSibling(); } private void CreateCmdCell() { _cmdCtrl.Refresh(); var allKeys = GmCmdConfig.dic.Keys; foreach (var key in allKeys) { _cmdCtrl.AddCell(ScrollerDataType.Header, key); } _cmdCtrl.Restart(); } private void RefreshCmdCell(ScrollerDataType type, CellView cell) { Button cellBtn = cell.GetComponent