using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class PostureController : MonoBehaviour { public List redObjs = new List(); public List blueObjs = new List(); public DeviceManager deviceManager; public Transform redContanier; public Transform blueContanier; public DeviceBtnItem deviceBtnItem; public RawImage redShowImage; public RawImage blueShowImage; // Start is called before the first frame update void Awake() { deviceManager = DeviceManager.Instance; } // Update is called once per frame void Update() { } private void OnEnable() { GetSceneInfo(); } private void GetSceneInfo() { redObjs = deviceManager.devices.Where(x => x != null && x.gameObject.layer == 11).ToList(); blueObjs = deviceManager.devices.Where(x => x != null && x.gameObject.layer == 12).ToList(); if (redContanier.childCount > 0) { for (int i = 0; i < redContanier.childCount; i++) { Destroy(redContanier.GetChild(i).gameObject); } } if (blueContanier.childCount > 0) { for (int i = 0; i < blueContanier.childCount; i++) { Destroy(blueContanier.GetChild(i).gameObject); } } for (int i = 0; i < redObjs.Count; i++) { CreatDeviceItem(redContanier, redObjs[i].name, redObjs[i].deviceID); } for (int i = 0; i < blueObjs.Count; i++) { CreatDeviceItem(blueContanier, blueObjs[i].name, redObjs[i].deviceID); } } private void CreatDeviceItem(Transform contanier, string objName, string id) { DeviceBtnItem obj = Instantiate(deviceBtnItem, contanier); obj.SetInfo(id, objName); obj.selfBtn.onClick.AddListener(() => { OnDeviceBtn(id); }); } private void OnDeviceBtn(string id) { Debug.Log(id); } }