Exemple #1
0
        public void AddModifier(ICardModifier modifier, ModifierParameters p)
        {
            _modifiers.Add(modifier);
            ActivateModifier(modifier, p);

            if (IsPermanent)
            {
                Publish(new PermanentModifiedEvent(this, modifier));
            }
        }
Exemple #2
0
        public void AddModifier(IPlayerModifier modifier, ModifierParameters p)
        {
            p.Owner = this;
            _modifiers.Add(modifier);

            modifier.Initialize(p, Game);
            modifier.Activate();

            foreach (var modifiableProperty in ModifiableProperties)
            {
                modifiableProperty.Accept(modifier);
            }
        }
Exemple #3
0
        private void ActivateModifier(ICardModifier modifier, ModifierParameters p)
        {
            p.Owner = this;
            modifier.Initialize(p, Game);

            foreach (var modifiable in ModifiableProperties)
            {
                modifiable.Accept(modifier);
            }

            modifier.Activate();
        }
Exemple #4
0
        public void Initialize(ModifierParameters p, Engine game)
        {
            Game = game;
            SourceCard = p.SourceCard;
            //SourceEffect = p.SourceEffect;
            Owner = p.Owner;
            X = p.X;

            InitializeLifetimes(p.IsStatic);
            Initialize();
        }