using System; using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using UnityEngine; using UnityEngine.UI; using UnityAsync; using WaitUntil = UnityAsync.WaitUntil; public class SPJKLayer : MonoBehaviour { public GameObject spjkItemOri; public Transform spjkItemContent; public List currentObsDataList = new List(); public Text countText; public InputField _obsSearchInputField; public ObsPlayerPanel obsPlayerPanel; async void Start() { InitObsData(); obsPlayerPanel = this.transform.Find("ObsPlayerPanel").GetComponent(); obsPlayerPanel.gameObject.SetActive(false); _obsSearchInputField.onValueChanged.AddListener(SearchObsItem); } private void OnDisable() { obsPlayerPanel.gameObject.SetActive(false); } private async Task InitObsData() { await new WaitUntil(() => { return GlobalData.obsDatas_by.Count > 0&&GlobalData.obsDatas_tk.Count>0; }); ObsData[] obs_by = GlobalData.obsDatas_by.ToArray(); for (int i = 0; i < obs_by.Length; i++) { int tempIndex = i; SPJK_ObsItem tempItem = Instantiate(spjkItemOri, spjkItemContent).GetComponent(); tempItem.SetData(obs_by[tempIndex]); currentObsDataList.Add(tempItem); tempItem.gameObject.GetComponent