Exemplo n.º 1
0
 public static void AssertTypes(this AlarmView view, AlarmLevel level, AlarmCategory category, AlarmType type,
                                string typeDescription)
 {
     Assert.AreEqual(view.AlarmTypeDescription, typeDescription);
     Assert.AreEqual(view.AlarmCategoryDescription, category.GetEnumDescription());
     Assert.AreEqual(view.AlarmLevelDescription, level.GetEnumDescription());
 }
Exemplo n.º 2
0
 public AlarmMessage(AlarmLevel level, string origin, string message, string exceptionMessage = null, string strorageID = null)
 {
     Level            = level;
     Origin           = origin;
     Message          = message;
     ExceptionMessage = exceptionMessage;
     StorageID        = strorageID;
 }
Exemplo n.º 3
0
        public void AddChannel(AlarmLevel level, IAlarmChannel channel)
        {
            var conn = new AlarmLevelChannelConnection();

            conn.Level   = level;
            conn.Channel = channel;
            Collection.Add(conn);
        }
 private ParameterAlarmConfig(ParameterAlarmConfig config)
 {
     this.LowThreshold  = config.LowThreshold;
     this.HighThreshold = config.HighThreshold;
     this.ParameterType = config.ParameterType;
     this.Level         = config.Level;
     this.Disable       = config.Disable;
 }
Exemplo n.º 5
0
 /// <summary>
 /// 重置
 /// </summary>
 public void Reset()
 {
     mAlarmStatus       = AlarmStatus.Unknown;
     mLastAlarmLevel    = AlarmLevel.Unknown;
     mCurrentAlarmLevel = AlarmLevel.Unknown;
     mReadyAlarmNum     = 0;
     mIsRecord          = false;
     mIsTimeout         = false;
 }
Exemplo n.º 6
0
        public static AlarmInfo Create(AlarmLevel level, int errorCode, string where, string message, AlarmHandleType handleType)
        {
            AlarmInfo alarmInfo = new AlarmInfo()
            {
                DateTime   = DateTime.Now,
                Level      = level,
                ErrorCode  = errorCode,
                Where      = where,
                Message    = message,
                HandleType = handleType
            };

            return(alarmInfo);
        }
        private static string GetAlarmColour(AlarmLevel level)
        {
            switch (level)
            {
            case AlarmLevel.High:
                return("#c90906");

            case AlarmLevel.Medium:
                return("#ff9e0c");

            case AlarmLevel.Low:
                return("#07b220");

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// 报警等级
        /// </summary>
        /// <param name="us"></param>
        /// <returns></returns>
        public static string ToNum(this AlarmLevel al)
        {
            switch (al)
            {
            case AlarmLevel.Level_0:
                return("0");

            case AlarmLevel.Level_1:
                return("1");

            case AlarmLevel.Level_2:
                return("2");

            case AlarmLevel.Level_3:
                return("3");

            case AlarmLevel.Level_4:
                return("4");

            default:
                return("3");
            }
        }
Exemplo n.º 9
0
    protected override void OnEnter(StrategyType lastStrategy)
    {
        Alarm = AlarmLevel.Green;
        Level.gameObject.SetActive(true);
        PlayerInput.enabled = true;
        Character.gameObject.SetActive(true);
        Drone.gameObject.SetActive(true);

        ContainerHUD.SetActive(true);
        _spawnCoroutine = StartCoroutine(RegenEnergy());

        Energy = EnergyStart;

        var gm = GameManager.Instance;

        if (gm.MusicSource.clip != gm.MusicClip)
        {
            gm.MusicSource.loop = true;
            gm.MusicSource.clip = gm.MusicClip;
        }
        gm.MusicSource.Play();
        Hud.SetGoals(FinalCost, FinalEnergyCost);
    }
Exemplo n.º 10
0
        /// <summary>
        /// 计算组选区温升/温差告警信息
        /// </summary>
        private void SpecialCalAlarmInfo(
            AlarmConfigData set,
            float temperture,
            AlarmInfo info)
        {
            AlarmLevel level = AlarmLevel.Unknown;

            if (set.mAlarmReason == AlarmReason.High)
            {
                if (temperture >= set.mCriticalThreshold)
                {
                    level = AlarmLevel.Critical;
                }
                else if (temperture >= set.mSeriousThreshold)
                {
                    level = AlarmLevel.Serious;
                }
                else if (temperture >= set.mGeneralThreshold)
                {
                    level = AlarmLevel.General;
                }
                else if (temperture < 0)
                {
                    level = AlarmLevel.General;
                }
                else
                {
                    level = AlarmLevel.Unknown;
                }
            }
            else if (set.mAlarmReason == AlarmReason.Low)
            {
                if (temperture <= set.mCriticalThreshold)
                {
                    level = AlarmLevel.Critical;
                }
                else if (temperture <= set.mSeriousThreshold)
                {
                    level = AlarmLevel.Serious;
                }
                else if (temperture <= set.mGeneralThreshold)
                {
                    level = AlarmLevel.General;
                }
                else if (temperture < 0)
                {
                    level = AlarmLevel.General;
                }
                else
                {
                    level = AlarmLevel.Unknown;
                }
            }

            if (level > AlarmLevel.Unknown)
            {
                if (info.mAlarmStatus == AlarmStatus.Unknown)
                {
                    // 进入告警开始延迟状态
                    info.mAlarmStatus   = AlarmStatus.AlarmReadyStart;
                    info.mReadyAlarmNum = 0;
                }
                else if (info.mAlarmStatus == AlarmStatus.AlarmReadyEnd)
                {
                    // 告警结束延迟未结束时, 告警等级不为正常, 则切换至告警进行时状态
                    info.mAlarmStatus   = AlarmStatus.Alarming;
                    info.mReadyAlarmNum = 0;
                }
                else if (info.mAlarmStatus == AlarmStatus.AlarmReadyStart)
                {
                    // 告警开始延迟, 计数
                    info.mReadyAlarmNum++;
                    if (info.mReadyAlarmNum >= mMaxReadyAlarmNum)
                    {
                        info.mAlarmStatus = AlarmStatus.AlarmStart;
                    }
                }
                else if ((info.mAlarmStatus == AlarmStatus.Alarming) &&
                         (info.mCurrentAlarmLevel != level))
                {
                    // 告警等级准备改变
                    info.mAlarmingLevel = info.mCurrentAlarmLevel;
                    info.mAlarmStatus   = AlarmStatus.AlarmingReadyChanged;
                    info.mReadyAlarmNum = 0;
                }
                else if (info.mAlarmStatus == AlarmStatus.AlarmingReadyChanged)
                {
                    if (info.mCurrentAlarmLevel == level)
                    {
                        // 告警等级改变
                        info.mReadyAlarmNum++;
                        if (info.mReadyAlarmNum >= mMaxReadyAlarmNum)
                        {
                            info.mAlarmStatus = AlarmStatus.AlarmingChanged;
                        }
                    }
                    else if (info.mAlarmingLevel == level)
                    {
                        info.mAlarmStatus   = AlarmStatus.Alarming;
                        info.mReadyAlarmNum = 0;
                    }
                    else
                    {
                        info.mReadyAlarmNum = 0;
                    }
                }
            }
            else
            {
                if ((info.mAlarmStatus == AlarmStatus.Alarming) ||
                    (info.mAlarmStatus == AlarmStatus.AlarmingReadyChanged))
                {
                    // 进入告警结束延迟状态
                    info.mAlarmStatus   = AlarmStatus.AlarmReadyEnd;
                    info.mReadyAlarmNum = 0;
                }
                else if (info.mAlarmStatus == AlarmStatus.AlarmReadyStart)
                {
                    // 告警开始延迟未结束时, 告警等级为正常, 则切换至正常状态
                    info.mAlarmStatus   = AlarmStatus.Unknown;
                    info.mReadyAlarmNum = 0;
                }
                else if (info.mAlarmStatus == AlarmStatus.AlarmReadyEnd)
                {
                    // 告警结束延迟, 计数
                    info.mReadyAlarmNum++;
                    if (info.mReadyAlarmNum >= mMaxReadyAlarmNum)
                    {
                        info.mAlarmStatus = AlarmStatus.AlarmEnd;
                    }
                }
            }

            info.mCurrentAlarmLevel = level;
        }
Exemplo n.º 11
0
 public LevelFilter(AlarmLevel level)
 {
     _level = level;
 }
Exemplo n.º 12
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Energy = -1;
        }
        if (Energy >= EnergyMax || Energy < 0)
        {
            if (!Character.IsDead)
            {
                StartCoroutine(Character.OnDeath());
            }
            return;
        }

        EnemySpawner[] spawners = GameObject.FindObjectsOfType <EnemySpawner>();
        spawners[Random.Range(0, spawners.Length)].UpdateEnemies();
        TakeDamage();

        if (Alarm == AlarmLevel.Green && (TerminalsCaptured > 0 || KillCount >= 2))
        {
            Alarm = AlarmLevel.Orange;
        }
        else
        if (Alarm == AlarmLevel.Orange && (TerminalsCaptured > 1))
        {
            Alarm = AlarmLevel.Red;
        }
        else
        if (Alarm == AlarmLevel.Red && (TerminalsCaptured == 3))
        {
            Alarm = AlarmLevel.Black;
        }
        String AlarmColor = "";

        switch (Alarm)
        {
        case AlarmLevel.Green:
            AlarmColor = "Green";
            break;

        case AlarmLevel.Orange:
            AlarmColor = "Orange";
            break;

        case AlarmLevel.Red:
            AlarmColor = "Red";
            break;

        case AlarmLevel.Black:
            AlarmColor = "Black";
            break;

        default:
            break;
        }
        Hud.SetCoins((int)Coins, FinalCost);
        Hud.SetEnergy((int)Energy, (int)EnergyMax, (int)EnergyNeedForFire);
        Hud.SetEnergySpent((int)EnergySpent, (int)FinalEnergyCost);
        if (Coins >= FinalCost && EnergySpent >= FinalEnergyCost)
        {
            FinalText.gameObject.SetActive(true);
            if (PlayerOnExit)
            {
                Debug.Log(String.Format("Level ended, you won"));
                LeaveLevel(true);
            }
        }
    }
Exemplo n.º 13
0
        public static string GetAlarmLevelDescription(this AlarmLevel level)
        {
            var tuple = AlarmLevelDescriptionList.FirstOrDefault(x => x.Item1 == level);

            return((tuple != null) ? tuple.Item2 : "次要");
        }
Exemplo n.º 14
0
        /// <summary>
        /// 获取告警短信内容
        /// </summary>
        public static String GetShowMessage(
            String substation,
            String deviceName,
            Int32 alarmMode,
            Int32 alarmType,
            Int32 alarmLevel,
            Single temperature,
            DateTime time)
        {
            String msg = String.Format("变电站:{0}\n", substation);

            msg += String.Format("设备:{0}\n", deviceName);

            AlarmMode mode = (AlarmMode)alarmMode;

            if (mode == AlarmMode.Selection)
            {
                SelectionAlarmType type = (SelectionAlarmType)alarmType;
                switch (type)
                {
                case SelectionAlarmType.MaxTemp:
                    msg += "监控类型:最高温度\n";
                    break;

                case SelectionAlarmType.MinTemp:
                    msg += "监控类型:最低温度\n";
                    break;

                case SelectionAlarmType.AvgTemp:
                    msg += "监控类型:平均温度\n";
                    break;
                }
                msg += String.Format("温度值:{0:F2}℃\n", temperature);
            }
            else if (mode == AlarmMode.GroupSelection)
            {
                GroupAlarmType type = (GroupAlarmType)alarmType;
                switch (type)
                {
                case GroupAlarmType.MaxTemperature:
                    msg += "监控类型:最高温度(组)\n";
                    break;

                case GroupAlarmType.MaxTempDif:
                    msg += "监控类型:最大温差(组)\n";
                    break;

                case GroupAlarmType.MaxTempRise:
                    msg += "监控类型:最大温升(组)\n";
                    break;

                case GroupAlarmType.RelativeTempDif:
                    msg += "监控类型:相对温差(组)\n";
                    break;
                }

                if (type == GroupAlarmType.RelativeTempDif)
                {
                    msg += String.Format("百分比:{0:F2}%\n", temperature);
                }
                else
                {
                    msg += String.Format("温度值:{0:F2}℃\n", temperature);
                }
            }

            AlarmLevel level = (AlarmLevel)alarmLevel;

            switch (level)
            {
            case AlarmLevel.General:
                msg += "告警等级:一般\n";
                break;

            case AlarmLevel.Serious:
                msg += "告警等级:严重\n";
                break;

            case AlarmLevel.Critical:
                msg += "告警等级:危急\n";
                break;
            }

            msg += String.Format("时间:{0}", DateTime.Now.ToString("HH:mm:ss"));

            return(msg);
        }
 public TechnologyEventDefinition(String text, AlarmLevel level)
     : base(text)
 {
     _level = level;
 }