using Assets.MyGame.Scripts.Net; using Assets.MyGame.Scripts.Net.API; using Assets.MyGame.Scripts.Net.APIResponses.Enum; using Assets.MyGame.Scripts.Net.WebResponses; using Newtonsoft.Json; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.InputSystem; using UnityEngine.SceneManagement; using UnityEngine.UI; public class GameMainPanel_Base : UIBase { [Header("游戏场景")] public string sceneName; public GameTypeEnum gameType; [Header("子ui管理器")] public SubUIManager subUIManager; public UIPanelAddressConfig panelAddressConfig; public Transform subPanelParent; [Header("设置")] protected bool isOpenSetting; public Transform[] tra_SettingListPos; public Transform[] tra_SettingListComponent; public Button btn_SettingList; [Header("我在这")] public Animator mySitAnim; [Header("Skill")] public Dictionary dic_Skill_Toggle = new Dictionary();//开关型技能 public Toggle toggle_SkillAuto; public Toggle toggle_Lock; public Toggle toggle_Three; public Toggle toggle_Shuang; //MonsterContral monCotl_Lock; public GameObject LockFX; public List list_Sits = new List(); public SitPosData currSitData; [Header("攻击参数")] public float attackTime = 0.5f; float clickTime = 0; public GameObject bullet_Test; public GameObject bulletParent; float changeTurretTime = 0f; bool isChangingTurret = false; int bulletCount = 0; public virtual void Awake() { subUIManager = new SubUIManager(subPanelParent, panelAddressConfig,this); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_Rotate, SyncGameData_Rotate); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_FireBullet, SyncGameData_FireBullit); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_ChangeTargetMonster, SyncGameData_ChangeTargetMonster); } public virtual void OnDestroy() { EventCenter.Instance.RemoveEventListener(ConstEventString.SyncGameData_Rotate, SyncGameData_Rotate); EventCenter.Instance.RemoveEventListener(ConstEventString.SyncGameData_FireBullet, SyncGameData_FireBullit); EventCenter.Instance.RemoveEventListener(ConstEventString.SyncGameData_ChangeTargetMonster, SyncGameData_ChangeTargetMonster); } public virtual void Start() { btn_SettingList.onClick.AddListener(() => { if (isOpenSetting) { StartCoroutine(CloseSettingList()); } else { StartCoroutine(OpenSettingList()); } }); toggle_Lock.onValueChanged.AddListener((a) => { if (!a) { CancelLock(); } }); foreach (var item in tra_SettingListComponent) { if (item.name == "Setting") { item.GetComponent