Example #1
0
        public IEnumerator OnArrowChoosingAssistTargetTest1()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.A));
            character.Items.Add(Heal.Create());
            character.Move(new Vector2(3, 1));

            // Adding second character
            Character target = GameManager.CurrentLevel.Create <Character>(GameManager.WizardPrefab);

            target.Player = GameManager.CurrentLevel.HumanPlayer;
            GameManager.CurrentLevel.AddCharacter(target, 3, 0);

            yield return(MoveCursor(3, 1));

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            Assert.AreEqual(Cursor.State.ChoosingAssistTarget, GameManager.Cursor.CurrentState);

            Character originalAssistTarget = GameManager.CurrentLevel.GetCharacter(GameManager.Cursor.transform.position);

            yield return(DownArrow());

            Assert.AreNotSame(originalAssistTarget, GameManager.CurrentLevel.GetCharacter(GameManager.Cursor.transform.position));
        }
Example #2
0
        public IEnumerator OnArrowChoosingTradeTargetTest2()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.A));
            character.Items.Add(Heal.Create());

            yield return(MoveCursor(2, 2));

            yield return(Submit());

            yield return(Submit());

            yield return(DownArrow());

            yield return(Submit());

            Assert.AreEqual(Cursor.State.ChoosingTradeTarget, GameManager.Cursor.CurrentState);

            Character originalAssistTarget = GameManager.CurrentLevel.GetCharacter(GameManager.Cursor.transform.position);

            yield return(DownArrow());

            Assert.AreSame(originalAssistTarget, GameManager.CurrentLevel.GetCharacter(GameManager.Cursor.transform.position));
        }
Example #3
0
        public IEnumerator OnCancelChoosingAssistTargetTest()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.A));
            character.Items.Add(Heal.Create());

            yield return(MoveCursor(2, 2));

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            Assert.AreEqual(Cursor.State.ChoosingAssistTarget, GameManager.Cursor.CurrentState);
            Assert.True(GameManager.Cursor.IsInFocus());

            yield return(Cancel());

            Assert.True(GameManager.ItemSelectionMenu.gameObject.activeSelf);
            Assert.True(GameManager.ItemSelectionMenu.IsInFocus());
        }
        public IEnumerator HealingTest2()
        {
            Character hurtCharacter = GameManager.CurrentLevel.GetCharacter(2, 1);

            hurtCharacter.CurrentHp -= 2;

            Character healingCharacter = GameManager.CurrentLevel.GetCharacter(2, 2);

            healingCharacter.Items.Clear();
            healingCharacter.Items.Add(Heal.Create());
            healingCharacter.AddProficiency(new Proficiency(typeof(HealingStaff), rank: Proficiency.Rank.E));

            yield return(MoveCursor(2, 2));

            // select character
            yield return(Submit());

            // select move
            yield return(Submit());

            // select Assist
            GameManager.CharacterActionMenu.OnSubmit();

            // select staff
            GameManager.ItemSelectionMenu.OnSubmit();

            //select other character
            GameManager.Cursor.OnSubmit();

            Assert.False(GameManager.ItemSelectionMenu.IsInFocus());
            Assert.IsEmpty(healingCharacter.AssistableTransforms);
            Assert.IsEmpty(healingCharacter.MovableTransforms);
            Assert.IsEmpty(healingCharacter.AttackableTransforms);
            Assert.AreEqual(hurtCharacter.CurrentHp, hurtCharacter.MaxHp);
        }
Example #5
0
        public IEnumerator TradeTest3()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());
            character.Items.Add(Heal.Create());
            character.Items.Add(Heal.Create());

            Character targetCharacter = GameManager.CurrentLevel.GetCharacter(2, 1);

            targetCharacter.Items.Clear();
            targetCharacter.Items.Add(Heal.Create());

            GameManager.TradeDetailPanel.Show(character, targetCharacter);

            Assert.True(GameManager.TradeDetailPanel.IsInFocus());

            yield return(RightArrow());

            Assert.AreEqual(TradeDetailPanel.Side.DESTINATION, GameManager.TradeDetailPanel.CurrentSide);

            yield return(Submit());

            Assert.AreEqual(4, character.Items.Count);
            Assert.AreEqual(TradeDetailPanel.Side.SOURCE, GameManager.TradeDetailPanel.CurrentSide);
        }
Example #6
0
        public IEnumerator TradeTest2()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());
            character.Items.Add(Heal.Create());
            character.Items.Add(Heal.Create());

            Character targetCharacter = GameManager.CurrentLevel.GetCharacter(2, 1);

            GameManager.TradeDetailPanel.Show(character, targetCharacter);

            yield return(null);

            Assert.True(GameManager.TradeDetailPanel.IsInFocus());

            yield return(DownArrow());

            Assert.AreEqual(1, GameManager.TradeDetailPanel.SourceItemsIndex);

            yield return(Submit());

            Assert.AreEqual(1, GameManager.TradeDetailPanel.SourceItemsIndex);
        }
        public IEnumerator HealingTest3()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);
            Heal      heal      = Heal.Create();

            _ = heal.Ranges.Add(3);
            character.Items.Add(heal);

            yield return(MoveCursor(2, 2));

            Assert.AreEqual(8, character.AttackableTransforms.Count);
            Assert.AreEqual(1, character.AssistableTransforms.Count);
        }
Example #8
0
        public IEnumerator ValidateLeftPlacement()
        {
            Character sourceCharacter = GameManager.CurrentLevel.GetCharacter(2, 2);

            sourceCharacter.Items.Clear();
            sourceCharacter.Items.Add(Heal.Create());

            Character targetCharacter = GameManager.CurrentLevel.GetCharacter(2, 1);

            GameManager.AssistDetailPanel.Show(sourceCharacter, targetCharacter);

            Assert.True(GameManager.AssistDetailPanel.gameObject.activeSelf);
            yield return(null);
        }
Example #9
0
        public IEnumerator ValidateRightPlacement()
        {
            Character sourceCharacter = GameManager.CurrentLevel.GetCharacter(0, 0);

            sourceCharacter.Items.Clear();
            sourceCharacter.Items.Add(Heal.Create());
            sourceCharacter.AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.A));

            Character targetCharacter = GameManager.CurrentLevel.GetCharacter(0, 1);

            GameManager.AssistDetailPanel.Show(sourceCharacter, targetCharacter);

            Assert.True(GameManager.AssistDetailPanel.gameObject.activeSelf);
            yield return(null);
        }
Example #10
0
        public IEnumerator CharacterActionMenuOnCancelHasTradedTest()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());

            // Move cursor
            yield return(MoveCursor(2, 2));

            // select character
            yield return(Submit());

            // select move
            yield return(Submit());

            // select trade
            yield return(DownArrow());

            yield return(Submit());

            // select trading character
            yield return(Submit());

            Assert.True(GameManager.TradeDetailPanel.IsInFocus());

            // trade item
            yield return(Submit());

            yield return(Cancel());

            Assert.True(GameManager.Cursor.IsInFocus());
            Assert.AreEqual(Cursor.State.ChoosingTradeTarget, GameManager.Cursor.CurrentState);

            yield return(Cancel());

            Assert.True(GameManager.CharacterActionMenu.IsInFocus());

            yield return(Cancel());

            Assert.True(GameManager.Cursor.IsInFocus());
            Assert.AreEqual(Cursor.State.Free, GameManager.Cursor.CurrentState);
            Assert.True(character.HasMoved);
            Assert.True(character.HasTraded);
        }
        public IEnumerator HealingTest1()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());
            character.AddProficiency(new Proficiency(typeof(HealingStaff), rank: Proficiency.Rank.E));

            yield return(MoveCursor(2, 2));

            yield return(Submit());

            yield return(Submit());

            Assert.IsNotEmpty(GameManager.CharacterActionMenu.MenuItems);

            Assert.True(GameManager.CharacterActionMenu.MenuItems.Exists((Menu.MenuItem <Item> obj) => { return(obj.DisplayText.text.Contains("Assist")); }));;;
        }
        public IEnumerator AssistableTransformsTest1()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());
            character.AddProficiency(new Proficiency(typeof(HealingStaff), rank: Proficiency.Rank.E));

            yield return(MoveCursor(2, 2));

            Assert.IsNotEmpty(character.AssistableTransforms);
            Assert.AreEqual(5, character.AssistableTransforms.Count);

            AssertHelper.Contains(new Vector3(0, 0), character.AssistableTransforms);
            AssertHelper.Contains(new Vector3(0, 1), character.AssistableTransforms);
            AssertHelper.Contains(new Vector3(1, 2), character.AssistableTransforms);
            AssertHelper.Contains(new Vector3(2, 3), character.AssistableTransforms);
            AssertHelper.Contains(new Vector3(3, 2), character.AssistableTransforms);
        }
        public IEnumerator EndActionTest3()
        {
            Character character = GameManager.CurrentLevel.GetCharacter(2, 2);

            character.Items.Clear();
            character.Items.Add(Heal.Create());
            character.AddProficiency(new Proficiency(typeof(HealingStaff), Proficiency.Rank.A));

            yield return(MoveCursor(2, 2));

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            yield return(Submit());

            Assert.AreEqual(Cursor.State.Free, GameManager.Cursor.CurrentState);
            Assert.True(GameManager.CurrentLevel.GetCharacter(2, 2).HasMoved);
        }