Exemple #1
0
        public void Battle_FighterDataPlayer()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            /**Player**/
            Assert.IsNotNull(battleSubSystem.PlayerFighterUnit);

            //Start with 20HP
            Assert.AreEqual(battleSubSystem.PlayerFighterUnit.MaxHp, 20);
            Assert.AreEqual(battleSubSystem.PlayerFighterUnit.CurrentHp, battleSubSystem.PlayerFighterUnit.MaxHp);
            Assert.AreEqual(battleSubSystem.PlayerFighterUnit.HpPercent, 1);

            //Must have a sprite
            Assert.IsNotNull(battleSubSystem.PlayerFighterUnit.Sprite);

            //Name by default
            Assert.IsNotNull(battleSubSystem.PlayerFighterUnit.UnitName);

            //Alive by default
            Assert.True(battleSubSystem.PlayerFighterUnit.IsDead == false);



            //Heal Damage with full hp
            battleSubSystem.PlayerFighterUnit.Heal(10);
            Assert.AreEqual(battleSubSystem.PlayerFighterUnit.CurrentHp, battleSubSystem.PlayerFighterUnit.MaxHp);
        }
Exemple #2
0
        public void Battle_ActionFlee()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            //Flee
            adventurerSystem.OnFleeButton(adventurerAgent);
            Assert.True(battleSubSystem.CurrentState == BattleState.Flee);
        }
Exemple #3
0
        public void Battle_StateLost()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            //EnemyAttack => Loose
            battleSubSystem.PlayerFighterUnit.CurrentHp = 1;
            adventurerSystem.OnAttackButton(adventurerAgent);
            Assert.AreEqual(BattleState.Lost, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState);
        }
Exemple #4
0
        public void Battle_StateWon()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            //Attack => Won
            battleSubSystem.EnemyFighterUnit.CurrentHp = 1;
            adventurerSystem.OnAttackButton(adventurerAgent);
            Assert.AreEqual(BattleState.Won, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState);
        }
Exemple #5
0
        public void Battle_GameOver()
        {
            //Start Battle
            adventurerSystem.StartBattle(adventurerAgent, BattleEnvironments.Forest);
            BattleSubSystem battleSubSystem = adventurerSystem.GetSubSystem(adventurerAgent);

            Assert.True(battleSubSystem.GameOver() == false);

            adventurerSystem.OnFleeButton(adventurerAgent);
            Assert.True(battleSubSystem.GameOver() == true);
        }
        private void SetupNewBattle(AdventurerAgent agent, FighterObject enemyFighter)
        {
            if (battleSystems.ContainsKey(agent))
            {
                battleSystems.Remove(agent);
            }

            var playerData = agent.GetComponent <AdventurerFighterData>().FighterData;
            var enemyData  = FighterData.Clone(enemyFighter.data);

            var newSystem = new BattleSubSystem(playerData, enemyData, enemyFighter.fighterDropTable, OnWin);

            battleSystems.Add(agent, newSystem);

            SetAdventureState(agent, AdventureStates.InBattle);
        }
Exemple #7
0
        public void Battle_ActionAttack()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            //Attack Dmg
            int enemyHPBeforeAttack = battleSubSystem.EnemyFighterUnit.CurrentHp;

            battleSubSystem.PlayerFighterUnit.Attack(battleSubSystem.EnemyFighterUnit);
            Assert.AreEqual(enemyHPBeforeAttack - battleSubSystem.PlayerFighterUnit.Damage, battleSubSystem.EnemyFighterUnit.CurrentHp,
                            "enemyHPBeforeAttack : " + enemyHPBeforeAttack + " - battleSubSystem.PlayerFighterUnit.Damage : " + battleSubSystem.PlayerFighterUnit.Damage);

            //HP always positives
            battleSubSystem.EnemyFighterUnit.CurrentHp = 1;
            battleSubSystem.PlayerFighterUnit.Attack(battleSubSystem.EnemyFighterUnit);
            Assert.AreEqual(0, battleSubSystem.EnemyFighterUnit.CurrentHp);
        }
Exemple #8
0
        public void Battle_ActionHeal()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            AdventurerFighterData adventurerData = adventurerAgent.GetComponent <AdventurerFighterData>();

            //adventurerSystem.OnHealButton(adventurerAgent);

            battleSubSystem.PlayerFighterUnit.CurrentHp = 1;
            battleSubSystem.PlayerFighterUnit.Heal(5);
            Assert.AreEqual(6, battleSubSystem.PlayerFighterUnit.CurrentHp);

            battleSubSystem.PlayerFighterUnit.CurrentHp = 1;
            battleSubSystem.PlayerFighterUnit.Heal(100);
            Assert.AreEqual(adventurerData.startHp, battleSubSystem.PlayerFighterUnit.CurrentHp, "Healing can't overcome the start hp  threshold");
        }
Exemple #9
0
        public void Battle_StatePlayerTurnByDefault()
        {
            BattleSubSystem battleSubSystem = StartBattle(BattleEnvironments.Forest);

            Assert.AreEqual(BattleState.PlayerTurn, battleSubSystem.CurrentState, "battleSubSystem.CurrentState : " + battleSubSystem.CurrentState);
        }