Beispiel #1
0
    /// <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);
                    }
                }
            }
        }
    }
Beispiel #2
0
    /// <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);
        });
    }
Beispiel #4
0
 /// <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);
     }
 }
Beispiel #5
0
    /// <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,请检查原因!");
        }
    }
Beispiel #6
0
    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();
        }
    }
Beispiel #7
0
    /// <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);
        });
    }
Beispiel #8
0
    /// <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);
         }
     });
 }
Beispiel #10
0
    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);
    }
Beispiel #11
0
    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个光片
        });
    }
Beispiel #12
0
    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);
        }
    }
Beispiel #13
0
    /// <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;
        }
    }
Beispiel #14
0
    /// <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);
            }
        }
    }
Beispiel #15
0
    /// <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;
        }
    }
Beispiel #16
0
    /// <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());
        }
    }