/// <summary> /// 结束告警 /// </summary> public void AlarmOff(bool isRemoveAlarm) { if (isRemoveAlarm && currentDev != null) { SetNormalFollowUIState(currentDev, true); } if (isRemoveAlarm && currentDev != null) { currentDev.isAlarm = false; if (FollowTargetManage.Instance) { FollowTargetManage.Instance.RemoveAlarmDevFollowUI(currentDev); } } if (currentDev is BorderDevController) { BorderDevController dev = currentDev as BorderDevController; dev.AlarmOff(); } else { AlarmMonitorRange(false); Highlighter h = gameObject.AddMissingComponent <Highlighter>(); h.FlashingOff(); } }
/// <summary> /// 设置区域下,边界告警设备的显示和隐藏 /// </summary> /// <param name="dep"></param> /// <param name="isEnable"></param> private void SetDepBorderDevEnable(DepNode dep, bool isEnable) { if (dep == null) { return; } List <DevNode> dev = RoomFactory.Instance.GetDepDevs(dep); if (dev == null || dev.Count == 0) { return; } List <DevNode> borderDevList = dev.FindAll(item => TypeCodeHelper.IsBorderAlarmDev(item.Info.TypeCode.ToString())); if (borderDevList == null || borderDevList.Count == 0) { return; } foreach (var item in borderDevList) { if (item.isAlarm) { continue; } BorderDevController borderDev = item as BorderDevController; borderDev.SetRendererEnable(isEnable); } }
/// <summary> /// 开始告警 /// </summary> public void AlarmOn() { if (!DevAlarmManage.IsShowAlarm) { return; } if (currentDev is BorderDevController) { BorderDevController dev = currentDev as BorderDevController; dev.AlarmOn(); } else { Highlighter h = gameObject.AddMissingComponent <Highlighter>(); Color colorStart = Color.red; Color colorEnd = new Color(colorStart.r, colorStart.g, colorStart.b, 0); h.FlashingOn(colorStart, colorEnd, frequency); AlarmMonitorRange(true); } }
/// <summary> /// 添加设备控制脚本 /// </summary> /// <param name="devInfo"></param> /// <param name="modelTemp"></param> /// <returns></returns> private DevNode DevControllerAdd(DevInfo devInfo, GameObject modelTemp, DepNode parentNode) { string typeCode = devInfo.TypeCode.ToString(); if (TypeCodeHelper.IsBorderAlarmDev(typeCode)) { BorderDevController borderDev = modelTemp.AddMissingComponent <BorderDevController>(); InitDevInfo(borderDev, devInfo, parentNode); return(borderDev); } else if (TypeCodeHelper.IsCamera(typeCode)) { CameraDevController cameraDev = modelTemp.AddMissingComponent <CameraDevController>(); InitDevInfo(cameraDev, devInfo, parentNode); return(cameraDev); } else { DepDevController controller = modelTemp.AddComponent <DepDevController>(); InitDevInfo(controller, devInfo, parentNode); return(controller); } }