using AX.MessageSystem; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 仅负责获取开启4G图传的人员数据 /// public class GetUsers : MonoBehaviour { public static List users = new List(); void OnEnable() { getTransferableUsers(); //每次开启图传面板时,先获取所有图传人员 MessageDispatcher.SendMessage("UpdateTransferUserItems", users); //通知各子面板生成人员item MessageDispatcher.AddListener("Update4GTransferUsers", Reset); //一旦有新人员开启图传,重新获取人员列表并通知各子面板生成人员item } void OnDisable() { MessageDispatcher.RemoveListener("Update4GTransferUsers", Reset); } void OnDestroy() { MessageDispatcher.RemoveListener("Update4GTransferUsers", Reset); } private void Reset(IMessage obj) { getTransferableUsers(); //先获取所有图传人员 MessageDispatcher.SendMessage("UpdateTransferUserItems", users); //通知各子面板生成人员item } public static event Func,bool,List> PicTransferableCheck; private void getTransferableUsers() { //FIXME: 这里不应该新建实例,应当清空 users.Clear(); switch (CurrentUserInfo.role) { case Role.None: break; case Role.总队指挥中心: break; case Role.支队指挥中心: break; case Role.导调组: if (PicTransferableCheck != null) { PicTransferableCheck(users,false); //false表示不用检查人员是否为自己下属 } break; case Role.观察团: if (PicTransferableCheck != null) { PicTransferableCheck(users,false); } break; case Role.总队指挥: if (PicTransferableCheck != null) { PicTransferableCheck(users,false); } break; case Role.支队指挥: //找自己支队的UserData if (PicTransferableCheck != null) { PicTransferableCheck(users, true); //true表示需要检查人员是否为自己下属 } break; case Role.大队指挥: //找自己大队的UserData if (PicTransferableCheck != null) { PicTransferableCheck(users, true); } break; case Role.中队指挥: //无4G图传功能 break; case Role.战斗班长: //无4G图传功能 break; case Role.参谋: //可以看所有人的图传 if (PicTransferableCheck != null) { PicTransferableCheck(users,false); } break; default: break; } } }