Example #1
0
        //Func<IDecisionHandler> playback  Func<IDecisionHandler> machine
        protected Decision(Player controller, Func<IDecisionHandler> ui,
          Func<IDecisionHandler> scenario)
        {
            _ui = ui;
            //_machine = machine;
            _scenario = scenario;
            //_playback = playback;

            Controller = controller;
        }
Example #2
0
        private static bool HasValidController(Player targetController, Player sourceController, ControlledBy controlledBy)
        {
            switch (controlledBy)
            {
                case (ControlledBy.Opponent):
                    return targetController != sourceController;

                case (ControlledBy.SpellOwner):
                    return targetController == sourceController;
            }

            return true;
        }
Example #3
0
        public void Start(Func<bool> shouldContinue, bool skipPreGame, Player looser = null)
        {
            Turn.Step = Step.GameStart;

            if (skipPreGame)
            {
                Turn.Step = Step.Untap;
            }

            Turn.State = 0;
            _previousLooser = looser;

            _currentStep.Value = _steps.First(x => x.Step == Turn.Step);
            _currentState.Value = _currentStep.Value.Start;

            _currentState.Value.Execute();

            Resume(shouldContinue);
        }
Example #4
0
 public Graveyard(Player owner)
     : base(owner)
 {
 }
Example #5
0
 public Library(Player owner)
     : base(owner)
 {
 }
Example #6
0
        public bool IsVisibleToPlayer(Player player)
        {
            if (_isRevealed == true)
                return true;

            if (_isHidden == true)
                return false;

            if (Zone == Zone.Battlefield || Zone == Zone.Graveyard || Zone == Zone.Exile || Zone == Zone.Stack)
                return true;

            if (Zone == Zone.Library)
                return _isPeeked && player == Controller;

            return player == Controller;
        }
Example #7
0
 public Battlefield(Player owner)
     : base(owner)
 {
 }
Example #8
0
        public Card Initialize(Player owner, Engine game)
        {
            Game = game;
            Owner = owner;
            //Id = game.Recorder.CreateId(this);

            JoinedBattlefield.Initialize(ChangeTracker);
            LeftBattlefield.Initialize(ChangeTracker);

            _controller = new CardController(owner);
            _controller.Initialize(game);
            _strenght.Initialize(game);
            _level.Initialize(game);
            //_counters.Initialize(this, game);
            _type.Initialize(game);
            _colors.Initialize(game);
            //_protections.Initialize(ChangeTracker);
            _zone.Initialize(ChangeTracker);
            _modifiers.Initialize(ChangeTracker);

            _isTapped.Initialize(ChangeTracker);
            _attachedTo.Initialize(ChangeTracker);
            _attachments.Initialize(ChangeTracker);
            _hasRegenerationShield.Initialize(ChangeTracker);
            _damage.Initialize(ChangeTracker);
            _hasLeathalDamage.Initialize(ChangeTracker);
            _hasSummoningSickness.Initialize(ChangeTracker);
            _hash.Initialize(ChangeTracker);
            _isHidden.Initialize(ChangeTracker);
            _isRevealed.Initialize(ChangeTracker);
            _isPeeked.Initialize(ChangeTracker);
            _usageScore.Initialize(ChangeTracker);
            //_castRules.Initialize(this, game);
            _simpleAbilities.Initialize(game);
            //_triggeredAbilities.Initialize(this, game);
            //_activatedAbilities.Initialize(this, game);
            //_staticAbilities.Initialize(this, game);
            //_combatRules.Initialize(this, game);
            //_continuousEffects.Initialize(this, game);

            _isPreview = false;
            return this;
        }
Example #9
0
 public bool CanBeTargetBySpellsOwnedBy(Player player)
 {
     return !Has().Stealth;// && (player == Controller || !Has().Hexproof);
 }
Example #10
0
 public AssignedDamage(Player player)
 {
     _player = player;
 }
Example #11
0
 public Hand(Player owner)
     : base(owner)
 {
 }
Example #12
0
 public ChosenPlayer(Player player)
 {
     Player = player;
 }