/// <summary> /// 获取到人员告警信息放到指定的列表里 /// </summary> /// <param name="LocationaList"></param> public void OnLocationAlarmRecieved(List <LocationAlarm> LocationaList) { FullViewController mainPage = FullViewController.Instance; AllPerAlarmPushInfo = new List <LocationAlarm>(); if (mainPage && mainPage.IsFullView) { foreach (var alarm in LocationaList) { LocationAlarm PerAlarm = AllPerAlarmPushInfo.Find(a => a.Id == alarm.Id && alarm.AlarmLevel == LocationAlarmLevel.正常 && a.AlarmLevel != LocationAlarmLevel.正常); if (PerAlarm != null) { AllPerAlarmPushInfo.Remove(PerAlarm); } else { AllPerAlarmPushInfo.Add(alarm); } } } else { foreach (var alarm in LocationaList) { AllPerAlarmPushInfo.Add(alarm); } foreach (var per in AllPerAlarmPushInfo) { if (per.AlarmLevel == LocationAlarmLevel.正常) { AlarmPushInfo Alarm = CurrentAlarmPushInfoList.Find(m => m.AlarmType == AlarmPushInfoType.locationAlarm && m.locationAlarmInfo.Id == per.Id && m.locationAlarmInfo.AlarmLevel != LocationAlarmLevel.正常); AlarmPushInfo CompleteAlarm = CompleteAlarmPushInfoList.Find(n => n.AlarmType == AlarmPushInfoType.locationAlarm && n.locationAlarmInfo.Id == per.Id && n.locationAlarmInfo.AlarmLevel != LocationAlarmLevel.正常); if (Alarm != null || CompleteAlarm != null) { AlarmPushInfo NormalAlarmInformation = new AlarmPushInfo(); NormalAlarmInformation.SetAlarmInfo(per); CurrentAlarmPushInfoList.Add(NormalAlarmInformation); } } else { if (ScreenFlashesRedAndAudio.Instance != null) { ScreenFlashesRedAndAudio.Instance.FlashesRedTweenerPlay(); } AlarmPushInfo CurrentAlarm = CurrentAlarmPushInfoList.Find(m => m.AlarmType == AlarmPushInfoType.locationAlarm && m.locationAlarmInfo.Id == per.Id && m.locationAlarmInfo.AlarmLevel == per.AlarmLevel); if (CurrentAlarm == null) { AlarmPushInfo AlarmInformation = new AlarmPushInfo(); AlarmInformation.SetAlarmInfo(per); CurrentAlarmPushInfoList.Add(AlarmInformation); } } } } }
/// <summary> /// 开始推送信息 /// </summary> public void PushInformation() { if (CurrentAlarmPushInfoList.Count == 0 || isPushInfo) { return; } isPushInfo = true; AlarmPushInfo value = CurrentAlarmPushInfoList[0]; ShowAlarmLevel(value); }
public void GetCameraAlarmData(AlarmPushInfo cameraAlarm) { if (string.IsNullOrEmpty(cameraAlarm.CameraAlarmInfor.cid_url)) { CameraAlarmInfo aa = cameraAlarm.CameraAlarmInfor; } string devName = null; CurrentAlarmPushInfo = new global::AlarmPushInfo(); CurrentAlarmPushInfo = cameraAlarm; if (cameraAlarm.CameraAlarmInfor.AlarmType == 1) { AlarmTypeImage.sprite = Safety; message.text = "没戴安全帽!"; } else if (cameraAlarm.CameraAlarmInfor.AlarmType == 2) { AlarmTypeImage.sprite = Fire; message.text = "火警"; } else if (cameraAlarm.CameraAlarmInfor.AlarmType == 3) { AlarmTypeImage.sprite = smogInfo; message.text = "烟雾"; } cid.text = cameraAlarm.CameraAlarmInfor.cid.ToString(); Button but = AlarmObj.transform.GetComponent <Button>(); but.onClick.RemoveAllListeners(); but.onClick.AddListener(() => { if (ScreenFlashesRedAndAudio.Instance != null) { ScreenFlashesRedAndAudio.Instance.FlashesRedTweenerStop_Click(); } int?DevID = CommunicationObject.Instance.GetCameraDevIdByURL(cameraAlarm.CameraAlarmInfor.cid_url); if (DevID == null) { UGUIMessageBox.Show("视频ID未找到,URL:" + cameraAlarm.CameraAlarmInfor.cid_url); Log.Error("Dev.ParentId is null..."); return; } DevInfo Dev = GetDevInfoByid((int)DevID); if (Dev == null) { Debug.LogError("Dev is null..."); return; } LocationDev(DevID.ToString(), (int)Dev.ParentId, devName, cameraAlarm); }); }
/// <summary> /// 告警信息是人员还是设备 /// </summary> /// <param name="alarm"></param> public void ShowAlarmLevel(AlarmPushInfo alarm) { if (alarm.AlarmType == AlarmPushInfoType.locationAlarm) { ShowLocationAlarmInformation(alarm); } else if (alarm.AlarmType == AlarmPushInfoType.devAlarm) { ShowDevAlarmInformation(alarm); } else if (alarm.AlarmType == AlarmPushInfoType.CameraAlarmInfo) { ShowCameraAlarmInformation(alarm); } }
/// <summary> /// 获取设备推送告警信息 /// </summary> public void GetDevAlarmPushData(AlarmPushInfo devAlarm) { GameObject obj = InstantiateLine(); if (devAlarm.devAlarmInfo.Level == Abutment_DevAlarmLevel.低) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = LowColor; } if (devAlarm.devAlarmInfo.Level == Abutment_DevAlarmLevel.中) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = MiddleColor; } if (devAlarm.devAlarmInfo.Level == Abutment_DevAlarmLevel.高) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = HighColor; } Message = devAlarm.devAlarmInfo.Title; obj.transform.GetChild(0).GetChild(0).GetComponent <Text>().text = Message; if (CloseAlarmPushInfoList.Count != 0) { AlarmPushInfo overAlarm = CloseAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == devAlarm.devAlarmInfo.Id); if (overAlarm != null) { CloseAlarmPushInfoList.Remove(overAlarm); } } SetTween(devAlarm, obj); int devId = devAlarm.devAlarmInfo.DevId; obj.transform.GetChild(3).GetComponent <Text>().text = devId.ToString(); if (devAlarm.devAlarmInfo.DevId != 0) { int depId = (int)devAlarm.devAlarmInfo.AreaId; Button but = obj.transform.GetComponent <Button>(); but.onClick.RemoveAllListeners(); but.onClick.AddListener(() => { DevBut_Click(devAlarm.devAlarmInfo, depId, Message); }); } else { Debug.LogError("devAlarm.devAlarmInfo.Dev == null,请检查原因!"); } }
public void ShowCameraAlarmInformation(AlarmPushInfo cameraAlarm) { AlarmPushInfo Alarm = CurrentAlarmPushInfoList.Find(m => m.CameraAlarmInfor.cid == cameraAlarm.CameraAlarmInfor.cid); CompleteAlarmPushInfoList.Add(Alarm); CurrentAlarmPushInfoList.Remove(Alarm); GameObject obj = InstantiateLineBaoxin(); CameraAlarmInfoItem item = obj.GetComponent <CameraAlarmInfoItem>(); if (item == null) { Log.Error("ShowCameraAlarmInformation", "item==null"); } else { item.GetCameraAlarmData(cameraAlarm); item.MoveTween(); } }
/// <summary> /// 定位告警推送信息 /// </summary> /// <param name="LocationaList"></param> public void GetLocationAlarmPushData(AlarmPushInfo LocationaList) { GameObject obj = InstantiateLine(); if (LocationaList.locationAlarmInfo.AlarmLevel == LocationAlarmLevel.一级告警) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = LowColor; } if (LocationaList.locationAlarmInfo.AlarmLevel == LocationAlarmLevel.二级告警) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = SecondColor; } if (LocationaList.locationAlarmInfo.AlarmLevel == LocationAlarmLevel.级告警) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = MiddleColor; } if (LocationaList.locationAlarmInfo.AlarmLevel == LocationAlarmLevel.四级告警) { obj.transform.GetChild(1).GetChild(2).GetComponent <Image>().color = HighColor; } Message = LocationaList.locationAlarmInfo.Content; obj.transform.GetChild(0).GetChild(0).GetComponent <Text>().text = Message; if (CloseAlarmPushInfoList.Count != 0) { AlarmPushInfo overAlarm = CloseAlarmPushInfoList.Find(m => m.locationAlarmInfo.Id == LocationaList.locationAlarmInfo.Id); if (overAlarm != null) { CloseAlarmPushInfoList.Remove(overAlarm); } } SetTween(LocationaList, obj); string PersonId = LocationaList.locationAlarmInfo.Id.ToString(); obj.transform.GetChild(3).GetComponent <Text>().text = PersonId; string PerTagId = LocationaList.locationAlarmInfo.TagId.ToString(); Button But = obj.GetComponent <Button>(); But.onClick.RemoveAllListeners(); But.onClick.AddListener(() => { PerAlarmBut_Click(PerTagId); }); }
/// <summary> /// 删除点击过的告警 /// </summary> public void BaoXinDelete_ClickAlarm(AlarmPushInfo cameraAlarm, GameObject Obj) { if (isPushInfo == false) { Debug.LogError(" BaoXinDelete_ClickAlarm"); isPushInfo = true; if (grid.transform.childCount == 0) { isPushInfo = false; } string CurrendCid = ""; int k = Obj.transform.GetSiblingIndex(); //for (int i = 0; i < grid.transform.childCount; i++) //{ // AlarmPushInfo AlarmCamera = ClickAlarmList.Find(N => N.CameraAlarmInfor != null && N.CameraAlarmInfor.AlarmType == cameraAlarm.CameraAlarmInfor.AlarmType && N.CameraAlarmInfor.cid == grid.transform.GetChild(i).GetChild(3).GetComponent<Text>().text); // if (AlarmCamera != null) // { // CurrendCid = AlarmCamera.CameraAlarmInfor.cid; // k = i; // } //} ClickAlarmList.Remove(cameraAlarm); CompleteAlarmPushInfoList.Remove(cameraAlarm); if (grid.transform.childCount <= 5 && !TitleObj.activeSelf) { if (grid.transform.childCount == 1) //只有一条告警 { DestroyImmediate(grid.transform.GetChild(k).gameObject); isPushInfo = false; } else { RemoveAlarmTween(k); } } else { RemoveChildTween(k); } } }
public void LocationDev(string devId, int DepID, string devName, AlarmPushInfo cameraAlarm) { if (AlarmPushManage.Instance.ClickAlarmList == null) { AlarmPushManage.Instance.ClickAlarmList = new List <AlarmPushInfo>(); } AlarmPushManage.Instance.ClickAlarmList.Add(cameraAlarm); Debug.LogError(AlarmPushManage.Instance.ClickAlarmList.Count + " AlarmPushManage.Instance.ClickAlarmList"); AlarmPushManage.Instance.BaoXinDelete_ClickAlarm(cameraAlarm, this.gameObject); RoomFactory.Instance.FocusDev(devId, DepID, result => { if (!result) { string msgTitle = "找不到对应区域和设备!"; if (!string.IsNullOrEmpty(devName)) { msgTitle = string.Format("{0} : {1}", devName, msgTitle); } UGUIMessageBox.Show(msgTitle); } }); }
public void SetCameraAlarmNumber(AlarmPushInfo alarm) { if (grid.transform.childCount > 5) { ShowTitleObj(); AlarmNum = AlarmNum + 1; TitleObj.transform.GetChild(0).GetChild(0).GetComponent <Text>().text = "<color=#58A2B4FF>还有</color>" + AlarmNum.ToString() + "<color=#58A2B4FF>条未处理告警未显示</color>"; if (IsTitle) { grid.transform.GetChild(0).DOScaleX(0, 0.3f).OnComplete(() => { DestroyImmediate(grid.transform.GetChild(0).gameObject); ChildMoveTween(); }); } else { TitleObj.GetComponent <RectTransform>().DOAnchorPos3D(new Vector3(-118, 197, 0), 0.1f).OnComplete(() => { TitleObj.transform.GetChild(0).GetComponent <Image>().DOFillAmount(1, 0.1f).OnComplete(() => { IsTitle = true; grid.transform.GetChild(0).DOScaleX(0, 0.3f).OnComplete(() => { DestroyImmediate(grid.transform.GetChild(0).gameObject); ChildMoveTween(); }); }); }); } } else { ChildMoveTween(); } ShowAlarmPushInfoList.Add(alarm); }
private Transform mask2; //zhezhao /// <summary> /// 动画 /// </summary> public void SetTween(AlarmPushInfo alarm, GameObject Item) { ShowAlarmPushInfoList.Add(alarm); Vector3 V3 = new Vector3(1, 1, 1); Vector3 scale = new Vector3(1.2f, 1.2f, 1.2f); try { TextBg = Item.transform.GetChild(0).GetComponent <Image>(); OutLevel1 = Item.transform.GetChild(1).GetChild(0).GetComponent <RectTransform>(); OutLevel2 = Item.transform.GetChild(1).GetChild(1).GetComponent <RectTransform>(); Level = Item.transform.GetChild(1).GetChild(2).GetComponent <RectTransform>(); mask1 = Item.transform.GetChild(2).GetChild(0).GetComponent <RectTransform>(); mask2 = Item.transform.GetChild(2).GetChild(1).GetComponent <RectTransform>(); Tween aa = DOTween.To(() => TextBg.fillAmount, x => TextBg.fillAmount = x, 1, 0.1f); } catch (Exception e) { Debug.LogErrorFormat("{0}:{1},!!!", e.ToString(), 123); } if (Item.transform.GetComponent <Image>() == null) { Debug.LogErrorFormat("{0}:{1},!!!", 123); } // Item.transform.GetComponent<Image>().DOColor(new Color(255 / 255, 255 / 255, 255 / 255, 255 / 255), 0.5f); Item.transform.GetComponent <RectTransform>().DOAnchorPos3D(new Vector3(0, -104, 0), 0.1f) .OnComplete(() => { Tween s = OutLevel1.DORotate(new Vector3(0, 0, 60), 0.1f).SetLoops(-1, LoopType.Yoyo); //外框旋转 Tween t = OutLevel2.DORotate(new Vector3(0, 0, 60), 0.1f).SetLoops(-1, LoopType.Yoyo); //外框旋转 Tween Alarm = Level.DORotate(new Vector3(0, 0, 60), 0.1f).SetLoops(-1, LoopType.Yoyo); //小图标旋转 OutLevel1.DOScale(scale, 0.01f); OutLevel2.DOScale(scale, 0.01f); Level.DOScale(scale, 0.01f); mask1.DOLocalMoveX(-300, 0.01f).OnComplete(() => { mask1.gameObject.SetActive(false); SetAlarmPushInFo(alarm); s.Kill(); t.Kill(); Alarm.Kill(); OutLevel1.DOScale(V3, 0.01f); OutLevel2.DOScale(V3, 0.01f); OutLevel1.DORotate(new Vector3(0, 0, 0), 0.001f); OutLevel2.DORotate(new Vector3(0, 0, 0), 0.001f); Level.DORotate(new Vector3(0, 0, 0), 0.001f); Level.DOScale(V3, 0.1f).OnComplete(() => { }); }); //第一个光片 mask2.DOLocalMoveX(-300, 0.1f).OnComplete(() => { mask2.gameObject.SetActive(false); }); //第2个光片 }); }
private void CameraAlarmHub_OnCameraAlarmsRecieved(List <CameraAlarmInfo> CameraInfo) { try { if (CameraInfo == null || CameraInfo.Count == 0) { return; } //string json = Newtonsoft.Json.JsonConvert.SerializeObject(obj); Log.Info("CameraAlarmHub_OnCameraAlarmsRecieved", "count:" + CameraInfo.Count); //Debug.LogError(json); IsBaoXin = true; IsNewAlarm = true; AllCameraAlarmPush = new List <CameraAlarmInfo>(); if (NewestCameraAlarmPush == null) { NewestCameraAlarmPush = new List <CameraAlarmInfo>(); } CameraAlarmPushList = new List <CameraAlarmInfo>(); FullViewController mainPage = FullViewController.Instance; foreach (var cam in CameraInfo) { if (cam.status == 1) { AllCameraAlarmPush.Add(cam); } else { Log.Error("CameraAlarmHub_OnCameraAlarmsRecieved", "cam.status != 1 :" + cam.status); } } Log.Info("CameraAlarmHub_OnCameraAlarmsRecieved", "AllCameraAlarmPush:" + AllCameraAlarmPush.Count); if (mainPage && mainPage.IsFullView) { return; } if (ScreenFlashesRedAndAudio.Instance != null) { ScreenFlashesRedAndAudio.Instance.FlashesRedTweenerPlay(); } foreach (var camAlarm in AllCameraAlarmPush) { NewestCameraAlarmPush.Add(camAlarm); AlarmPushInfo AlarmInformation = new AlarmPushInfo(); AlarmInformation.SetAlarmInfo(camAlarm); CameraAlarmInfo CurrentCameraAlarm = new CameraAlarmInfo(); AlarmPushInfo CompleteCameraAlarm = new AlarmPushInfo(); AlarmPushInfo nullData = CompleteAlarmPushInfoList.Find(i => i.CameraAlarmInfor != null); if (nullData != null) { if (camAlarm.AlarmType == 2) { CompleteCameraAlarm = CompleteAlarmPushInfoList.Find(i => i.CameraAlarmInfor != null && i.CameraAlarmInfor.cid == camAlarm.cid && i.CameraAlarmInfor.FlameData != null); } else if (camAlarm.AlarmType == 1) { CompleteCameraAlarm = CompleteAlarmPushInfoList.Find(i => i.CameraAlarmInfor != null && i.CameraAlarmInfor.cid == camAlarm.cid && i.CameraAlarmInfor.HeadData != null); } else if (camAlarm.AlarmType == 3) { CompleteCameraAlarm = CompleteAlarmPushInfoList.Find(i => i.CameraAlarmInfor != null && i.CameraAlarmInfor.cid == camAlarm.cid && i.CameraAlarmInfor.SmogData != null); } if (CompleteCameraAlarm == null) { CurrentAlarmPushInfoList.Add(AlarmInformation); CameraAlarmPushList.AddRange(AllCameraAlarmPush); } } else { CurrentAlarmPushInfoList.Add(AlarmInformation); CameraAlarmPushList.AddRange(AllCameraAlarmPush); } CameraAlarmFollowUI.RefreshAll(); } } catch (Exception ex) { Log.Error("CameraAlarmHub_OnCameraAlarmsRecieved", "Exception :" + ex); } }
/// <summary> /// 设置推送告警的数量 /// </summary> /// public void SetAlarmPushInFo(AlarmPushInfo alarm) { if (grid.transform.childCount != 0) { if (grid.transform.childCount <= 5) { for (int i = 0; i < grid.transform.childCount; i++) { int mun = 50; if (grid.transform.childCount == 0) { RectTransform ObjY = grid.transform.GetChild(i).GetComponent <RectTransform>(); if (ObjY != null) { float posY = ObjY.anchoredPosition3D.y + mun; AlarmTw = ObjY.DOAnchorPos(new Vector2(0, posY), 0.1F).OnComplete(() => { //if (ScreenFlashesRedAndAudio.Instance != null) //{ // ScreenFlashesRedAndAudio.Instance.StopAudio (); // ScreenFlashesRedAndAudio.Instance.FlashesRedTweenerStop(); //} isPushInfo = false; }); } } else { if (i < grid.transform.childCount - 1) { RectTransform ObjY = grid.transform.GetChild(i).GetComponent <RectTransform>(); if (ObjY != null) { float posY = ObjY.anchoredPosition3D.y + mun; AlarmTw = ObjY.DOAnchorPos(new Vector2(0, posY), 0.1F); } } else { if (i == grid.transform.childCount - 1) { RectTransform Objy = grid.transform.GetChild(i).GetComponent <RectTransform>(); if (Objy != null) { float posY = Objy.anchoredPosition3D.y + mun; AlarmTw = Objy.DOAnchorPos(new Vector2(0, posY), 0.1F).OnComplete(() => { //if (ScreenFlashesRedAndAudio.Instance != null) //{ // ScreenFlashesRedAndAudio.Instance.StopAudio(); // ScreenFlashesRedAndAudio.Instance.FlashesRedTweenerStop(); //} isPushInfo = false; return; }); } } } } } } else if (grid.transform.childCount > 5) { TitleObj.SetActive(true); AlarmNum = AlarmNum + 1; // ShowAlarmPushInfoList.Add(alarm); string CloseId = grid.transform.GetChild(0).GetChild(3).GetComponent <Text>().text; int strId = int.Parse(CloseId); AlarmPushInfo showAlarmInfo = ShowAlarmPushInfoList.Find(m => m.AlarmType == AlarmPushInfoType.locationAlarm && m.locationAlarmInfo.Id == strId); if (showAlarmInfo != null) { CloseAlarmPushInfoList.Add(showAlarmInfo); ShowAlarmPushInfoList.Remove(showAlarmInfo); } else { AlarmPushInfo showAlarm = ShowAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == strId); { if (showAlarm != null) { CloseAlarmPushInfoList.Add(showAlarm); ShowAlarmPushInfoList.Remove(showAlarm); } } } TitleObj.transform.GetChild(0).GetChild(0).GetComponent <Text>().text = "<color=#58A2B4FF>还有</color>" + AlarmNum.ToString() + "<color=#58A2B4FF>条未处理告警未显示</color>"; TitleObj.GetComponent <RectTransform>().DOAnchorPos3D(new Vector3(-70, 197, 0), 0.1f).OnComplete(() => { TitleObj.transform.GetChild(0).GetComponent <Image>().DOFillAmount(1, 0.1f).OnComplete(() => { grid.transform.GetChild(0).DOScaleX(0, 0.3f).OnComplete(() => { DestroyImmediate(grid.transform.GetChild(0).gameObject); for (int i = 0; i < grid.transform.childCount; i++) { if (i < 4) { RectTransform ObjY = grid.transform.GetChild(i).GetComponent <RectTransform>(); if (ObjY != null) { float posY = ObjY.anchoredPosition3D.y + 50; AlarmTween = ObjY.DOAnchorPos(new Vector2(0, posY), 0.1F); } } else { if (i == 4) { RectTransform ObjY = grid.transform.GetChild(i).GetComponent <RectTransform>(); if (ObjY != null) { float posY = ObjY.anchoredPosition3D.y + 50; AlarmTween = ObjY.DOAnchorPos(new Vector2(0, posY), 0.1F).OnComplete(() => { isPushInfo = false; return; }); } } } } }); }); }); } } else { isPushInfo = false; } }
/// <summary> /// 展示设备告警信息 /// </summary> /// <param name="alarm"></param> public void ShowDevAlarmInformation(AlarmPushInfo alarm) { AlarmPushInfo Alarm = CurrentAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == alarm.devAlarmInfo.Id); CurrentAlarmPushInfoList.Remove(Alarm); if (alarm.devAlarmInfo.Level != Abutment_DevAlarmLevel.无) { GetDevAlarmPushData(alarm); CompleteAlarmPushInfoList.Add(alarm); } else { try { string CurrentId = alarm.devAlarmInfo.Id.ToString(); AlarmPushInfo showAlarm = ShowAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == alarm.devAlarmInfo.Id); if (showAlarm != null) { ShowAlarmPushInfoList.Remove(showAlarm); for (int i = 0; i < grid.transform.childCount; i++) { if (CurrentId == grid.transform.GetChild(i).GetChild(3).GetComponent <Text>().text) { int k = i; CompleteAlarmPushInfoList.Remove(alarm); grid.transform.GetChild(i).DOScaleX(0, 0.1f).OnComplete(() => { if (grid.transform.childCount != 0) { if (grid.transform.childCount <= 5 && !TitleObj.activeSelf) { if (grid.transform.childCount == 1)//只有一条告警 { DestroyImmediate(grid.transform.GetChild(k).gameObject); isPushInfo = false; } else //大于1小于6条告警 { RemoveAlarmTween(k); } } else if (grid.transform.childCount <= 5 && TitleObj.activeSelf)//告警条数标题栏存在 { RemoveChildTween(k); } } }); } } } else { AlarmPushInfo overAlarm = CloseAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == alarm.devAlarmInfo.Id); AlarmPushInfo ShowAlarm = ShowAlarmPushInfoList.Find(m => m.devAlarmInfo.Id == alarm.devAlarmInfo.Id); if (overAlarm != null && ShowAlarm == null) { CloseAlarmPushInfoList.Remove(overAlarm); AlarmNumChange(); } } } catch (Exception e) { Debug.LogErrorFormat("{0}:{1},!!!", e.ToString(), alarm.locationAlarmInfo.Id); } } }
/// <summary> /// 展示人员告警信息 /// </summary> /// <param name="alarm"></param> public void ShowLocationAlarmInformation(AlarmPushInfo alarm) { AlarmPushInfo Alarm = CurrentAlarmPushInfoList.Find(m => m.locationAlarmInfo.Id == alarm.locationAlarmInfo.Id); CurrentAlarmPushInfoList.Remove(Alarm); if (alarm.locationAlarmInfo.AlarmLevel != LocationAlarmLevel.正常) { GetLocationAlarmPushData(alarm); CompleteAlarmPushInfoList.Add(alarm); } else { string CurrentId = alarm.locationAlarmInfo.Id.ToString(); AlarmPushInfo nullData = ShowAlarmPushInfoList.Find(m => m.locationAlarmInfo != null); List <AlarmPushInfo> perAlarm = new List <AlarmPushInfo>(); if (nullData != null) { foreach (var item in ShowAlarmPushInfoList) { if (item.locationAlarmInfo != null) { perAlarm.Add(item); } } AlarmPushInfo showAlarm = perAlarm.Find(m => m.locationAlarmInfo.Id == alarm.locationAlarmInfo.Id); string ID = ""; int k = 0; if (showAlarm != null) { ShowAlarmPushInfoList.Remove(showAlarm); for (int i = 0; i < grid.transform.childCount; i++) { if (CurrentId == grid.transform.GetChild(i).GetChild(3).GetComponent <Text>().text) { ID = CurrentId; k = i; } } if (string.IsNullOrEmpty(ID)) { isPushInfo = false; } else { CompleteAlarmPushInfoList.Remove(alarm); grid.transform.GetChild(k).DOScaleX(0, 0.1f).OnComplete(() => { if (grid.transform.childCount != 0) { if (grid.transform.childCount <= 5 && !TitleObj.activeSelf) { if (grid.transform.childCount == 1)//只有一条告警 { DestroyImmediate(grid.transform.GetChild(0).gameObject); isPushInfo = false; Debug.LogError("能否推送" + isPushInfo); } else //大于1小于6条告警 { RemoveAlarmTween(k); } } else if (grid.transform.childCount <= 5 && TitleObj.activeSelf)//告警条数标题栏存在 { RemoveChildTween(k); } } }); } } else { AlarmPushInfo overAlarm = CloseAlarmPushInfoList.Find(m => m.locationAlarmInfo.Id == alarm.locationAlarmInfo.Id); AlarmPushInfo ShowAlarm = ShowAlarmPushInfoList.Find(m => m.locationAlarmInfo.Id == alarm.locationAlarmInfo.Id); if (overAlarm != null && ShowAlarm == null) { CloseAlarmPushInfoList.Remove(overAlarm); AlarmNumChange(); } else if (overAlarm == null && ShowAlarm == null) { isPushInfo = false; } } } else { isPushInfo = false; } } if (grid.transform.childCount == 0) { isPushInfo = false; } }
/// <summary> /// 设备告警 /// </summary> /// <param name="devList"></param> public void OnDeviceAlarmRecieved(List <DeviceAlarm> devList) { try { FullViewController mainPage = FullViewController.Instance; AllDevAlarmPushInfo = new List <DeviceAlarm>(); if (mainPage && mainPage.IsFullView) { foreach (var dev in devList) { if (dev == null) { continue; } if (AllDevAlarmPushInfo.Count != 0) { DeviceAlarm devAlarm = AllDevAlarmPushInfo.Find(m => m != null && m.Level == Abutment_DevAlarmLevel.无 && m.DevId == dev.DevId); if (devAlarm == null) { AllDevAlarmPushInfo.Remove(devAlarm); } else { AllDevAlarmPushInfo.Add(devAlarm); } } } } else { foreach (var alarm in devList) { if (alarm == null) { continue; } AllDevAlarmPushInfo.Add(alarm); } foreach (var dev in AllDevAlarmPushInfo) { if (dev == null) { continue; } if (dev.Level == Abutment_DevAlarmLevel.无) { AlarmPushInfo Alarm = CurrentAlarmPushInfoList.Find(m => m != null && m.devAlarmInfo.Level == Abutment_DevAlarmLevel.无 && m.devAlarmInfo.DevId == dev.DevId); AlarmPushInfo CompleteAlarm = CompleteAlarmPushInfoList.Find(n => n != null && n.devAlarmInfo.DevId == dev.DevId && n.devAlarmInfo.Level != Abutment_DevAlarmLevel.无); if (Alarm != null || CompleteAlarm != null) { AlarmPushInfo NormalAlarmInformation = new AlarmPushInfo(); NormalAlarmInformation.SetAlarmInfo(dev); CurrentAlarmPushInfoList.Add(NormalAlarmInformation); } } else { AlarmPushInfo CurrentAlarm = CurrentAlarmPushInfoList.Find(m => m != null && m.devAlarmInfo.DevId == dev.DevId && m.devAlarmInfo.Level == dev.Level); if (CurrentAlarm == null) { AlarmPushInfo AlarmInformation = new AlarmPushInfo(); AlarmInformation.SetAlarmInfo(dev); CurrentAlarmPushInfoList.Add(AlarmInformation); } } } } } catch (Exception e) { Log.Error("AlarmPushManage.Error:" + e.ToString()); } }