using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using UnityEngine.UIElements; using Button = UnityEngine.UI.Button; using Image = UnityEngine.UI.Image; using Toggle = UnityEngine.UI.Toggle; using ScrollView = PhxhSDK.PhxhScrollView; using Framework; using Framework.Wrapper; using Gameplay; using Gameplay.Net; using PhxhSDK; using TGS; public class UI_PVPDefendPrepareController : UIWindow { //UI GameObj ///Auto Gen Start/// ///Auto Gen End/// private ScrollView _unitScrollView; private PrepareTeamManager _prepareTeamManager; private List _allCharacterInfos; private List _allVehicleInfos; private List _pvpUnitInfos; private int _currSelectedIndex = -1; // private Button btn_back; // private Button btn_home; public override void OnAwake() { //bind UI GameObj UI_PVPDefendPrepareBinder.GetComponents(this); _prepareTeamManager = PrepareTeamManager.Instance; BindProperty(); RegisterEvent(); } private void BindProperty() { _unitScrollView = transform.Find("listBkg/Scroll View").GetComponent(); _unitScrollView.SetItemCountFunc(GetUnitCount); _unitScrollView.SetUpdateFunc(OnRenderUnitItem); } private void RegisterEvent() { BindButton("Button_Back/Button_back", OnClickBack); BindButton("Button_Back/Button_Home", OnClickHome); _prepareTeamManager.OnAddModel += OnAddModel; _prepareTeamManager.OnRemoveModel += OnRemoveModel; _prepareTeamManager.OnSwapModel += OnSwapModel; } private void RefreshData() { _allCharacterInfos = new List(CharacterDataInfoManager.Instance.DataList); _allVehicleInfos = new List(VehicleCultivateDataManager.Instance.DataList); } private void Refresh() { RefreshData(); _unitScrollView.UpdateData(); } private int GetUnitCount() { return _allCharacterInfos.Count + _allVehicleInfos.Count; } private async void OnRenderUnitItem(int itemIndex, RectTransform itemTrans) { GetUnitDataByIndex(itemIndex, out var characterData, out var vehicleData); var icon = itemTrans.Find("icon").GetComponent(); var nameText = itemTrans.Find("name").GetComponent(); if (characterData != null) { icon.sprite = await AssetManager.Instance.LoadAssetAsync(characterData.GetWholeHeadPath()); nameText.text = characterData.Name; } if (vehicleData != null) { icon.sprite = await AssetManager.Instance.LoadAssetAsync( VehicleDataHelper.GetVehiclePicPath((int)vehicleData.nID)); nameText.text = vehicleData.Name; } var button = itemTrans.GetComponent