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)); }
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)); }
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); }
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); }
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); }
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); }
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); }
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); }