using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 根据房间人员列表生成需设置的列表 /// public class ArriveTimeContent : MonoBehaviour { public List> ArriveTimeList = new List>(); public Transform ArriveTimeContentTransform; public GameObject ArriveTimeItem; List udatalist = new List(); private List needSetting = new List(); public bool Isset = true; void Awake() { udatalist = CurrentUserInfo.room.UserList; for (int i = 0; i < udatalist.Count; i++) { if (udatalist[i].Role == Role.导调组 || udatalist[i].Role == Role.战斗班长 || udatalist[i].Role == Role.总队指挥中心 || udatalist[i].Role == Role.支队指挥中心 || udatalist[i].Role == Role.参谋 || udatalist[i].Role == Role.观察团 || udatalist[i].Role == Role.None) { } else { needSetting.Add(udatalist[i]); } } if (ArriveTimeItem == null) { ArriveTimeItem = Resources.Load("LeadGroup/ArriveTimeItem") as GameObject; } CreatArriveItem(); } // Use this for initialization void Start() { //把生成的Toggle加组 Toggle[] childtoggle = ArriveTimeContentTransform.GetComponentsInChildren(); for (int i = 0; i < childtoggle.Length; i++) { childtoggle[i].GetComponent().group = transform.GetComponent(); } } void CreatArriveItem() { for (int i = 0; i < needSetting.Count; i++) { GameObject Item = Instantiate(ArriveTimeItem, ArriveTimeContentTransform); Item.name = needSetting[i].UserInfo.RealName; Item.transform.Find("Toggle/OriText").GetComponent().text = needSetting[i].Org.DisplayName; Item.GetComponent().UserID = needSetting[i].UserInfo.Id; } } public void GetArriveTime() { ArriveTimeItem[] allitem = ArriveTimeContentTransform.GetComponentsInChildren(true); for (int i = 0; i < allitem.Length; i++) { if ((allitem[i].MTime * 60 + allitem[i].STime) <= 0) { Isset = false; break; } else { Isset = true; KeyValuePair ArriveItem = new KeyValuePair(allitem[i].UserID, allitem[i].MTime * 60 + allitem[i].STime); if (!CheckHasSetArriveTime(ArriveItem)) ArriveTimeList.Add(ArriveItem); } } } private bool CheckHasSetArriveTime(KeyValuePair ArriveItem) { bool result = false; for (int i = 0; i < ArriveTimeList.Count; i++) { if (ArriveTimeList[i].Key == ArriveItem.Key) { ArriveTimeList[i] = ArriveItem; result = true; break; } } return result; } }