예제 #1
0
        public BaseConditions(List <string> ConditionsList, CharacterConditionsSpecifications ConditionsSpecifications)
        {
            #region Добавляем все состояния в коллекцию

            Conditions = new ConditionsCollection(ConditionsList)
            {
                new Condition("Alive", true)
            };

            Conditions.SetPropertyEventMethod(ConditionStatusHasChanged);

            #endregion

            //Получаем ссылку на характеристики состояний
            this.ConditionsSpecifications = ConditionsSpecifications;

            #region Заполняем словарь с методами состояний

            ConditionsMethods = new Dictionary <string, ConditionsUpdate>();

            ConditionsMethods.Add("Bleeding", Bleed);
            ConditionsMethods.Add("Slowed", Slowing);

            #endregion

            #region Заполняем словарь с таймерами

            ConditionTimers = new Dictionary <string, float>();

            ConditionTimers.Add("Bleeding", BleedingTimer);
            ConditionTimers.Add("Slowed", SlowingTimer);

            #endregion
        }