using System; using System.Collections.Generic; using Animancer; using Logic; using Logic.Action; using Logic.Audio; using Logic.CrashSight; using Logic.Multilingual; using RuntimeData; using TH1_Core.Events; using TH1_Core.Managers; using TH1_Logic.Core; using TH1_Logic.MatchConfig; using TH1_Logic.Net; using TH1_Logic.Steam; using TH1_UI.Components; using TH1_UI.HintUI; using TH1_UI.View.Info; using TH1Renderer; using TH1Resource; using TMPro; using UI.HintUI; using Unity.VisualScripting; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; namespace TH1_UI.View.Bottom { public class UIBottomTutorView : Base.View { //public Button closeButton; //public ViDelegateAssisstant.Dele OnBtnCloseClick; public GameObject RowPrefab; public Transform RowFather; //public Button CloseButton; private List Rows = new List(); protected override void OnInit() { base.OnInit(); //CloseButton.onClick.RemoveAllListeners(); //CloseButton.onClick.AddListener(() => { OnBtnCloseClick.Invoke(); }); //CheckPanel.InitStart(RefreshStatus); } //通常一局只会set一次,每次都是完全清空,然后绑定新的一个对局的按钮 public void SetContent() { //if (Main.Instance.GameLogic.GetCurState() == GameState.Menu) return; int count = 0; var taskList = new List(); //Step #2 安排好每个row的游戏对象 if (Main.MapData.MatchSettlement.PlayerSettlements.TryGetValue(Main.MapData.PlayerMap.SelfPlayerId, out var settlement) && settlement.Settlements.Count > 0) { var data = settlement.Settlements[0]; taskList = data.Tasks; } count = taskList == null ? 0 : taskList.Count; //Step #3逐个设置 for (int i = 0; i < count; i++) { if (taskList == null) break; Table.Instance.PlayerTaskDataAssets.GetPlayerTaskData(taskList[i].TaskType, out var data); if(Rows.Count <= i) { var row = Instantiate(RowPrefab,RowFather); var t = row.GetComponent(); Rows.Add(t); } Rows[i]?.gameObject.SetActive(true); Rows[i]?.SetContent(taskList[i],data); } for(int i = count; i < Rows.Count;i ++) Rows[i].gameObject.SetActive(false); } public void CloseView() { //AudioManager.Instance.StopMusic(); } } }