/// <summary> /// 设置设备上显示器的内容 /// </summary> /// <param name="informationData"></param> internal void SetPanelData(InformationData informationData) { if (null == m_DisplayText || m_DisplayText.Count <= 0) { return; } if (null != m_DisplayMaterial) { m_DisplayMaterial.color = informationData.PanelColor; } var displayindex = 0; foreach (var item in m_DisplayText) { if (null != item) { item.gameObject.SetActive(false); } } for (int i = 0; i < informationData.Contentlist.Count; i++) { if (informationData.Contentlist[i].IsShowPanel && displayindex < m_DisplayText.Count) { m_DisplayText[displayindex].gameObject.SetActive(true); m_DisplayText[displayindex].text = informationData.Contentlist[i].Name + ":" + informationData.Contentlist[i].Value; displayindex++; } } }
/// <summary> /// 加载信息 /// </summary> /// <returns></returns> private void NewLoadInformationList(string content) { string[] sr = content.Split(new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); m_fTimeIndex = 0; if (null == sr || sr.Length <= 0) { return; } //解析数据 m_InformationDataList.Clear(); m_PublicInformationData = new InformationData(); m_PublicInformationData.Contentlist = new List <InfoContent>(); for (int i = 0; i < sr.Length; i++) { var _str = Regex.Replace(sr[i], @"[\0]", ""); AdaptiveInfomationData(_str.Split(new char[] { ';' }, System.StringSplitOptions.RemoveEmptyEntries)); //AdaptiveInfomationData(_str.Split(';')); } //显示UI //TODO:根据m_EquipmentDataList 找ID添加UI信息 if (m_InformationDataList.Count > 0) { ItemManager.GetInstance().LoadInformation(m_InformationDataList); } if (null != m_ThermographTool) { m_ThermographTool.SetValue(m_PublicInformationData); } }
public CEEventMapNotificationItemVM(InformationData data) : base(data) { NotificationIdentifier = CESettings.Instance != null && CESettings.Instance.EventCaptorCustomTextureNotifications ? "ceevent" : "vote"; _randomEvent = ((CEEventMapNotification)data).RandomEvent; _onInspect = OnRandomNotificationInspect; }
public CECaptorMapNotificationItemVM(InformationData data) : base(data) { NotificationIdentifier = CESettings.Instance != null && CESettings.Instance.EventCaptorCustomTextureNotifications ? "cecaptor" : "death"; _captorEvent = ((CECaptorMapNotification)data).CaptorEvent; _onInspect = OnCaptorNotificationInspect; }
private void reportcontrol_SendInformation(string informationid, string information) { if (SendReportInformation != null) { InformationData infor = new InformationData(informationid, information); infor.Tag = _message; SendReportInformation(this, new DataEventArgs <InformationData>(infor)); } }
internal void Modification(InformationData informationData) { for (int i = 0; i < m_ItemList.Count; i++) { DestroyImmediate(m_ItemList[i].gameObject); } m_ItemList.Clear(); Initialized(informationData); }
/// <summary> /// 获取寝室信息 /// </summary> /// <param name="context">数据库连接上下文对象</param> /// <returns></returns> public async Task <DormitoryViewModel> GetDormitoryAsync(ApplicationDbContext context) { DormitoryViewModel webModel = new DormitoryViewModel(); try { //Source Data List var list = await RegisterRepository.GetDormitoryListAsync(context); //Return Data List var dataList = new List <InformationData>(); if (list != null && list.Any()) { foreach (var item in list) { var model = new InformationData { Id = item.Id.ToString(), Name = item.Name, BuildingName = item.BuildingName, Count = item.Count, Floor = item.Floor, SelectedCount = item.SelectedCount, Type = item.BunkName, }; dataList.Add(model); } } webModel.InformationList = dataList; var dorm = await RegisterRepository.GetDormitoryAsync(context); webModel.IsChosen = dorm != null; if (dorm != null) { webModel.DormitoryInfo = new DormitoryInfo { BuildingName = dorm.BuildingName, Floor = (short)dorm.Floor, Id = dorm.Id.ToString(), Name = dorm.DormName, Type = dorm.BunkType, DateTime = dorm.DateTime.ToString("yyyy-MM-dd HH:mm:ss") }; } } catch (Exception ex) { _logger.LogError("获取物品信息列表失败:{0},\r\n内部错误信息:{1}", ex.Message, ex.InnerException.Message); } return(webModel); }
public MercenaryContractExpiredNotificationItemVM( InformationData data, Action <MapNotificationItemBaseVM> onRemove) : base(data, null, onRemove) { NotificationIdentifier = "mercenarycontractexpired"; if (data is MercenaryContractMapNotification mercenaryContractMapNotification) { MercenaryContractMapNotification = mercenaryContractMapNotification; _onInspect = OnMercenaryContractExpiredNotificationInspect; } }
public void Initialized(InformationData info) { m_Data = info; var list = info.Contentlist; m_nTotalInfoCount = list.Count; m_nNormalInfoCount = 0; if (null != m_ImageBG) { info.PanelColor.a = .75f; m_ImageBG.color = info.PanelColor; } for (int i = 0; i < list.Count; i++) { if (list[i].Name == "设备名") { m_NameLabel.text = list[i].Value; m_nTotalInfoCount -= 1; continue; } if (list[i].ViewType == EContentViewType.E_Show) { m_nNormalInfoCount++; } if (list[i].Name == "状态") { switch (list[i].Value) { case "空闲": list[i].TextColor = Color.gray; break; case "正常": list[i].TextColor = Color.green; break; case "异常": list[i].TextColor = Color.red; break; } } var obj = GameObject.Instantiate(m_ItemInstance.gameObject) as GameObject; var dev = obj.GetComponent <FloatInfoItem>(); obj.transform.SetParent(m_ListTransform, false); dev.SetContent(list[i].Name, list[i].Value, list[i].TextColor); obj.SetActive(true); dev.IsHide = list[i].ViewType == EContentViewType.E_Hide; m_ItemList.Add(dev); } SetContentHight(m_nNormalInfoCount * m_fHight + ((m_nNormalInfoCount - 1) * m_fSpacing)); SetHidenItemState(false); }
private void AdaptiveInfomationData(string[] strArr) { if (null == strArr || strArr.Length <= 0) { return; } var data = new InformationData(); data.Contentlist = new List <InfoContent>(); for (int i = 0; i < strArr.Length; i++) { if (string.IsNullOrEmpty(strArr[i])) { continue; } var optionArr = strArr[i].Split('@');//长度至少为2 if (null == optionArr || optionArr.Length < 2) { continue; } switch (optionArr[0]) { case "ID": data.ID = optionArr[1]; break; case "Link": data.Link = optionArr[1]; break; default: { if (optionArr.Length > 2) { data.Contentlist.Add(new InfoContent { Name = optionArr[0], Value = optionArr[1], ViewType = (EContentViewType)int.Parse(optionArr[2]) }); } } break; } } m_InformationDataList.Add(data); }
/// <summary> /// 加载信息 /// </summary> /// <returns></returns> private IEnumerator LoadInformationList() { var path = m_strDataPath + m_strCurSceneDataPath + "/" + DATA_FILENAME_INFO; //var www = new WWW(path); var www = new WWW(path); yield return(www); string strAll = System.Text.Encoding.UTF8.GetString(www.bytes); if (string.IsNullOrEmpty(strAll)) { //如果无法从网络读取 从本地读测试数据 Debug.LogError("无法从" + path + " 获取数据,将加载测试数据." + "WWWerror:" + www.error); } string[] sr = strAll.Split(new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); m_fTimeIndex = 0; if (null == sr || sr.Length <= 0) { yield return(0); } //解析数据 m_InformationDataList.Clear(); m_PublicInformationData = new InformationData(); m_PublicInformationData.Contentlist = new List <InfoContent>(); for (int i = 0; i < sr.Length; i++) { var _str = Regex.Replace(sr[i], @"[\0]", ""); AdaptiveInfomationData(_str.Split(new char[] { ';' }, System.StringSplitOptions.RemoveEmptyEntries)); //AdaptiveInfomationData(_str.Split(';')); } //显示UI //TODO:根据m_EquipmentDataList 找ID添加UI信息 if (m_InformationDataList.Count > 0) { ItemManager.GetInstance().LoadInformation(m_InformationDataList); } if (null != m_ThermographTool) { m_ThermographTool.SetValue(m_PublicInformationData); } }
internal void SetValue(InformationData infoData) { if (null == m_TempText || null == m_HumText) { return; } if (null == infoData) { return; } foreach (var info in infoData.Contentlist) { if (info.Name == "温度") { m_TempText.text = info.Name + ":" + info.Value; } if (info.Name == "湿度") { m_HumText.text = info.Name + ":" + info.Value; } } }
public void Initialized(InformationData info) { m_Data = info; var list = info.Contentlist; m_nTotalInfoCount = list.Count; for (int i = 0; i < list.Count; i++) { if (list[i].ViewType == EContentViewType.E_Show) { m_nNormalInfoCount++; } var obj = GameObject.Instantiate(m_ItemInstance.gameObject) as GameObject; var dev = obj.GetComponent <FloatInfoItem>(); obj.transform.SetParent(m_ListTransform, false); dev.SetContent(list[i].Name, list[i].Value); obj.SetActive(true); m_ItemList.Add(dev); } SetContentHight(m_nNormalInfoCount * m_fHight); }
private List <InformationData> getData() { // Get the last scene: minigame string lastScene = GameObject.FindGameObjectWithTag("GameLogic").GetComponent <AIComponent>().getLastGameScene(); // Get the information data from data object List <InformationData> dataList = GameObject.FindGameObjectWithTag("GameLogic").GetComponent <GamesData>().getInformationData(); List <InformationData> shuffledData = dataList.OrderBy(x => UnityEngine.Random.value).ToList(); foreach (InformationData d in shuffledData) { string game = d.getGame(); print("Game: " + game); if (game == lastScene) { data = d; shuffledData.Remove(d); return(shuffledData); } } return(shuffledData); }
private static void GetNotificationFromData(MapNotificationVM __instance, ref MapNotificationItemBaseVM __result, InformationData data) { Type type = data.GetType(); MapNotificationItemBaseVM mapNotification = null; if (type == typeof(CECaptorMapNotification)) { Action <MapNotificationItemBaseVM> onRemove = (MapNotificationItemBaseVM item) => { CEHelper.notificationCaptorExists = false; new CESubModule().LoadCampaignNotificationTexture("default"); RemoveNotificationItem.Invoke(__instance, new object[] { item }); }; mapNotification = new CECaptorMapNotificationItemVM(data); FieldInfo fi = mapNotification.GetType().BaseType.GetField("OnRemove", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); if (fi != null) { fi.SetValue(mapNotification, onRemove); } __result = mapNotification; } else if (type == typeof(CEEventMapNotification)) { Action <MapNotificationItemBaseVM> onRemove = (MapNotificationItemBaseVM item) => { CEHelper.notificationEventExists = false; new CESubModule().LoadCampaignNotificationTexture("default", 1); RemoveNotificationItem.Invoke(__instance, new object[] { item }); }; mapNotification = new CEEventMapNotificationItemVM(data); FieldInfo fi = mapNotification.GetType().BaseType.GetField("OnRemove", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static); if (fi != null) { fi.SetValue(mapNotification, onRemove); } __result = mapNotification; } }
// Server sent us a packet about all connected clients or an update for all cube positions void ProcessServerData(byte[] buffer) { NetworkReader nr = new NetworkReader(buffer); PacketTypeEnum packetType = (PacketTypeEnum)nr.ReadByte(); switch (packetType) { case PacketTypeEnum.Position: List <PositionData> posList = new List <PositionData>(); PositionData p; while (nr.Position != buffer.Length) { p = new PositionData(); p.objectId = nr.ReadInt32(); p.pos = nr.ReadVector3(); posList.Add(p); } // Update game objects foreach (var item in clientList) { if (item.obj == null) { continue; } p = posList.FirstOrDefault(x => x.objectId == item.objectId); if (p == null) { Debug.Log("Cannot find game object"); } else { item.obj.transform.position = p.pos; } } break; case PacketTypeEnum.Information: List <InformationData> infoList = new List <InformationData>(); InformationData info; while (nr.Position != buffer.Length) { info = new InformationData(); info.objectId = nr.ReadInt32(); info.name = nr.ReadString(); info.pos = nr.ReadVector3(); info.r = nr.ReadSingle(); info.g = nr.ReadSingle(); info.b = nr.ReadSingle(); infoList.Add(info); } // Remove clients that aren't listed foreach (var item in clientList) { if (item.obj == null) { continue; } info = infoList.FirstOrDefault(x => x.objectId == item.objectId); if (info == null) { Destroy(item.obj); } } clientList.RemoveAll(x => x.obj == null); // Note items are set to null only after Update! foreach (var item in infoList) { ClientData cd = clientList.FirstOrDefault(x => x.objectId == item.objectId); // Is this new client info? if (cd == null) { // Create new object GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube); // No CharacterController here! // Set position obj.transform.position = item.pos; // Set color obj.GetComponent <Renderer>().material.color = new Color(item.r, item.g, item.b); cd = new ClientData(); cd.objectId = item.objectId; cd.name = item.name; cd.obj = obj; clientList.Add(cd); Debug.Log(string.Format("New client info for {0}", cd.name)); } } break; default: Debug.Log("Unknown packet type"); break; } }
private void Update() { UpdatePos(); if (Input.GetKeyDown(KeyCode.Alpha1)) { var data = new InformationData(); data.ID = "11"; data.Contentlist = new List <InfoContent>(); data.Contentlist.Add(new InfoContent() { Name = "aaa", Value = "111", ViewType = EContentViewType.E_Show }); data.Contentlist.Add(new InfoContent() { Name = "bbb", Value = "222", ViewType = EContentViewType.E_Show }); data.Contentlist.Add(new InfoContent() { Name = "ccc", Value = "333", ViewType = EContentViewType.E_Show }); data.Contentlist.Add(new InfoContent() { Name = "aaa1", Value = "a111", ViewType = EContentViewType.E_Hide }); data.Contentlist.Add(new InfoContent() { Name = "bbb2", Value = "b222", ViewType = EContentViewType.E_Hide }); data.Contentlist.Add(new InfoContent() { Name = "ccc3", Value = "c333", ViewType = EContentViewType.E_Hide }); Initialized(data); } if (Input.GetKeyDown(KeyCode.Alpha2)) { ShowDetail(); } if (Input.GetKeyDown(KeyCode.Alpha3)) { HideDetail(); } if (m_IsAnimRunning) { m_AnimTimeIndex += Time.deltaTime; SetContentHight(UnityEngine.Mathf.Lerp(ContentHight, m_fTargetHight, m_AnimTimeIndex)); if (m_AnimTimeIndex >= ANIMTIME) { SetContentHight(m_fTargetHight); m_IsAnimRunning = false; } } }
public static void Postfix(MapNotificationVM __instance, ref MapNotificationItemBaseVM __result, InformationData data) { // Vanilla didn't found the right type and returned a default one if (__result == null || __result.GetType() == typeof(MapNotificationItemBaseVM)) { if (data is MercenaryContractMapNotification) { var removeNotificationItemDelegate = RemoveNotificationItemMethod.CreateDelegate(typeof(Action <MapNotificationItemBaseVM>), __instance); __result = new MercenaryContractExpiredNotificationItemVM(data, (Action <MapNotificationItemBaseVM>)removeNotificationItemDelegate); } } }
private void SetDefaults(object obj) { InformationData.SetDefaultStructure(); ReloadTables(null); }
public static void MapNoticeRemoved(InformationData data) => InformationManager.MapNoticeRemoved(data);
private void ReloadTables(object obj) { InformationData.ReloadTables(); }
private void AdaptiveInfomationData(string[] strArr) { if (null == strArr || strArr.Length <= 0) { return; } var data = new InformationData(); data.Contentlist = new List <InfoContent>(); bool m_isPublic = false; for (int i = 0; i < strArr.Length; i++) { if (string.IsNullOrEmpty(strArr[i])) { continue; } var optionArr = strArr[i].Split(new char[] { '@' }, System.StringSplitOptions.RemoveEmptyEntries);//长度至少为2 //var optionArr = strArr[i].Split('@');//长度至少为2 if (null == optionArr || optionArr.Length < 2) { continue; } if (optionArr[0] == "#")//公共信息识别 { var _info = new InfoContent(); _info.Name = optionArr[1]; _info.Value = optionArr[2]; m_PublicInformationData.Contentlist.Add(_info); m_isPublic = true; } else { switch (optionArr[0])//单位信息 { case "ID": data.ID = optionArr[1]; break; case "Link": data.Link = optionArr[1]; break; case "PanelColor": data.PanelColor = TransformHexToRGB(optionArr[1]); break; default: { if (string.IsNullOrEmpty(optionArr[0])) { continue; } var _info = new InfoContent(); _info.Name = optionArr[0]; if (optionArr.Length > 1) { _info.Value = optionArr[1]; } if (optionArr.Length > 2) { _info.ViewType = (EContentViewType)int.Parse(optionArr[2]); } if (optionArr.Length > 3) { _info.IsShowPanel = optionArr[3] == "1"; } if (optionArr.Length > 4) { _info.TextColor = TransformHexToRGB(optionArr[4]); } data.Contentlist.Add(_info); } break; } } } if (!m_isPublic) { m_InformationDataList.Add(data); } }
private void AddLecture(object obj) { InformationData.AddLecture(LectureDate, LectureTopic); ReloadTables(null); }
private void AddStudent(object obj) { InformationData.AddStudent(StudentName); ReloadTables(null); }
private void AddAttendance(object obj) { InformationData.AddAttendance(AttendanceStudentId, AttendanceLectureId, AttendanceMark); ReloadTables(null); }