Пример #1
0
        public HowlingBlizzard(int cooldown, HexCell parentCell, Character characterThatOwnsEffect, int value, string name) : base(cooldown, parentCell, name)
        {
            _characterThatOwnsEffect = characterThatOwnsEffect;
            _speedDecrease           = value;
            ParentCell.OnEnter      += AddEffect;
            ParentCell.OnLeave      += RemoveEffect;
            OnRemove += () =>
            {
                _isBeingRemoved = true;
                if (ParentCell.CharacterOnCell != null)
                {
                    RemoveEffect(ParentCell.CharacterOnCell);
                }
                ParentCell.OnEnter -= AddEffect;
                ParentCell.OnLeave -= RemoveEffect;
            };
            if (ParentCell.CharacterOnCell != null)
            {
                AddEffect(ParentCell.CharacterOnCell);
            }

            parentCell.AddEffectHighlight(Name);
            OnRemove += () => parentCell.RemoveEffectHighlight(Name);
        }
Пример #2
0
 public Conflagration(int cooldown, HexCell parentCell, Character characterThatOwnsEffect) : base(cooldown, parentCell, "Conflagration")
 {
     _characterThatOwnsEffect = characterThatOwnsEffect;
     parentCell.AddEffectHighlight(Name);
     OnRemove += () => parentCell.RemoveEffectHighlight(Name);
 }