예제 #1
0
        private void Update()
        {
            Update(() => Power != Card.Power, () =>
            {
                Power     = Card.Power;
                BasePower = Card.BasePower;
            });

            Update(() => Toughness != Card.Toughness, () =>
            {
                Toughness     = Card.Toughness;
                BaseToughness = Card.BaseToughness;
            });

            Update(() => IsVisibleInUi != Card.IsVisibleInUi, () => IsVisibleInUi = Card.IsVisibleInUi);
            Update(() => !Colors.SequenceEqual(Card.Colors), () => Colors         = Card.Colors);
            Update(() => Counters != Card.Counters, () => Counters = Card.Counters);
            Update(() => Level != Card.Level, () => Level          = Card.Level);
            Update(() => Type != Card.Type, () => Type             = Card.Type);
            Update(() => Damage != Card.Damage, () => Damage       = Card.Damage);
            Update(() => IsTapped != Card.IsTapped, () => IsTapped = Card.IsTapped);
            Update(() => Loyality != Card.Loyality, () => Loyality = Card.Loyality);

            var simpleAbilities = GetSimpleAbilities();

            Update(() => !SimpleAbilities.SequenceEqual(simpleAbilities), () => SimpleAbilities = simpleAbilities);

            Update(() => HasSummoningSickness != (Card.HasSummoningSickness && Card.Is().Creature&& !Card.Has().Haste),
                   () => HasSummoningSickness = Card.HasSummoningSickness && Card.Is().Creature&& !Card.Has().Haste);
        }
예제 #2
0
 public override void Apply(SimpleAbilities abilities)
 {
     _modifier = new AddToList <Static>(_staticAbility);
     _modifier.Initialize(ChangeTracker);
     _abilities = abilities;
     _abilities.AddModifier(_modifier);
 }
예제 #3
0
 public override void Apply(SimpleAbilities abilities)
 {
     _modifier = new RemoveFromList <Static>(_simpleAbility);
     _modifier.Initialize(ChangeTracker);
     abilities.AddModifier(_modifier);
     _simpleAbilties = abilities;
 }
예제 #4
0
        public override void Apply(SimpleAbilities abilities)
        {
            if (!_simple)
            {
                return;
            }

            _simpleAbilties          = abilities;
            _simpleAbilitiesModifier = new SetList <Static>(
                new List <Static>());
            _simpleAbilitiesModifier.Initialize(ChangeTracker);
            _simpleAbilties.AddModifier(_simpleAbilitiesModifier);
        }
예제 #5
0
 public override void Apply(SimpleAbilities abilities)
 {
     abilities.Disable(_simpleAbility);
     _simpleAbilties = abilities;
 }
예제 #6
0
 public override void Apply(SimpleAbilities abilities)
 {
     abilities.Disable();
       _simpleAbilties = abilities;
 }
예제 #7
0
 public override void Apply(SimpleAbilities abilities)
 {
     _abilities     = abilities;
     _removed.Value = _abilities.Remove(_staticAbility);
 }
예제 #8
0
 public override void Apply(SimpleAbilities abilities)
 {
     _abilities = abilities;
       _abilities.Add(_staticAbility);
 }
예제 #9
0
 public override void Apply(SimpleAbilities abilities)
 {
     _abilities = abilities;
       _removed.Value = _abilities.Remove(_staticAbility);
 }
예제 #10
0
 public override void Apply(SimpleAbilities abilities)
 {
     _abilities = abilities;
     _abilities.Add(_staticAbility);
 }