Exemplo n.º 1
0
        public void Start()
        {
            _state  = BattleState.InGame;
            _round  = 0;
            _winner = null;

            NextRound();
        }
Exemplo n.º 2
0
 public bool Use(BattleArmy source, SkillTarget target)
 {
     return(target.Match(
                battle => Use(source, battle),
                army => Use(source, army),
                list => Use(source, list),
                stack => Use(source, stack)
                ));
 }
Exemplo n.º 3
0
        public Battle(Army attacker, Army target)
        {
            _attacker = new BattleArmy(attacker, this);
            _target   = new BattleArmy(target, this);

            _state  = BattleState.None;
            _round  = 0;
            _winner = null;

            _currentStacks = null;
        }
Exemplo n.º 4
0
        public void Surrender()
        {
            if (_state != BattleState.InGame)
            {
                return;
            }

            _winner = GetCurrentArmy() == _attacker ? _target : _attacker;

            Stop();
        }
Exemplo n.º 5
0
        public bool TryToStop()
        {
            if (_attacker.GetAliveStacks().Count == 0)
            {
                _winner = _target;
                Stop();

                return(true);
            }

            if (_target.GetAliveStacks().Count == 0)
            {
                _winner = _attacker;
                Stop();

                return(true);
            }

            return(false);
        }
Exemplo n.º 6
0
 public virtual bool Use(BattleUnitsStack source, BattleArmy target) => false;
Exemplo n.º 7
0
 public virtual bool Use(BattleArmy source, IList <BattleUnitsStack> targets) => false;
Exemplo n.º 8
0
 public virtual bool Use(BattleArmy source, BattleArmy target) => false;