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 Spine.Unity; using System; using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using TMPro; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.EventSystems; using UnityEngine.InputSystem; using UnityEngine.SceneManagement; using UnityEngine.UI; using static UnityEngine.AddressableAssets.Addressables; public class GameMainPanel_FishBase : GameMainPanel_Base { [Header("游戏场景")] public string sceneName; public GameTypeEnum gameType; [Header("设置")] protected bool isOpenSetting; public Transform[] tra_SettingListPos; public Transform[] tra_SettingListComponent; public Button btn_SettingList; [Header("我在这")] public GameObject 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; 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 GameObject boardCast_Boss; AudioClip bulletClip; public async override void Awake() { base.Awake(); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_Rotate, SyncGameData_Rotate); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_FireBullet, SyncGameData_FireBullit); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_ChangeTargetMonster, SyncGameData_ChangeTargetMonster); EventCenter.Instance.AddEventListener(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish); subUIManager.boardCast_Boss = boardCast_Boss; FishResourcesData.LoadFishAssetsData(); MonsterMoveLine.LoadBezier();//初始化加载路线 AudioResourcesData.LoadAudioGame(); await Addressables.LoadAssetsAsync("Audio", clip => { Debug.Log("clipName" + clip.name); if (clip.name == "PW_Shoot") { bulletClip = clip; } }).Task; } 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); EventCenter.Instance.RemoveEventListener(ConstEventString.SyncGameData_RendromDieFish, SyncGameData_RendromDieFish); } public virtual void Start() { btn_SettingList.onClick.AddListener(() => { if (isOpenSetting) { StartCoroutine(CloseSettingList()); } else { StartCoroutine(OpenSettingList()); } }); toggle_Lock.onValueChanged.AddListener((a) => { if (!a) { { SyncGameData sgd = new SyncGameData { sitPos = currSitData.posID, frameType = FrameDataType.changeAutoTarget, time = BeijingTimeManager.Instance.CurrentTimestampMs, frameData = new FrameData_ChangeAutoTarget { targetGuid = null, } }; WebSocketSendList.SyncGameData(sgd); } } }); foreach (var item in tra_SettingListComponent) { if (item.name == "Setting") { item.GetComponent