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; async void Start() { InitObsData(); _obsSearchInputField.onValueChanged.AddListener(SearchObsItem); } private async Task InitObsData() { await new WaitUntil(() => { return GlobalData.obsDatas.Count > 0; }); ObsData[] obs = GlobalData.obsDatas.ToArray(); for (int i = 0; i < obs.Length; i++) { SPJK_ObsItem tempItem = Instantiate(spjkItemOri, spjkItemContent).GetComponent(); tempItem.SetData(obs[i]); currentObsDataList.Add(tempItem); } countText.text = $"监控列表 ({obs.Length})"; } public void SearchObsItem(string s_name) { if (s_name.Equals("")) { for (int i = 0; i < currentObsDataList.Count; i++) { currentObsDataList[i].gameObject.SetActive(true); } } else { for (int i = 0; i < currentObsDataList.Count; i++) { currentObsDataList[i].gameObject.SetActive(currentObsDataList[i]._data.name.Contains(s_name)); } } } }