public IEnumerator AttackableRangeTest3() { AttackableRange attackableRange = GameManager.Cursor.AttackableRange; Character character = GameManager.CurrentLevel.GetCharacter(2, 2); attackableRange.RemoveCharacter(character); LogAssert.Expect(UnityEngine.LogType.Error, "Cannot remove character Wizard from AttackableRange at (2.0, 2.0, 0.0)"); yield return(null); }
public override void OnCancel() { Debug.LogFormat("OnCancel: {0}", CurrentState); switch (CurrentState) { case State.Free: Character character = GameManager.CurrentLevel.GetCharacter(transform.position); if (character != null && AttackableRange.Characters.Contains(character)) { AttackableRange.RemoveCharacter(character); } else { AttackableRange.Clear(); } break; case State.ChoosingMove: // --> Free SelectedCharacter.DestroyMovableAndAttackableAndAssistableTransforms(); Path.Destroy(); CurrentState = State.Free; break; case State.ChoosingAssistTarget: // --> transform.position = SelectedCharacter.transform.position; GameManager.AssistDetailPanel.Hide(); CharacterActionMenuAssist(); break; case State.ChoosingAttackTarget: // --> ItemSelectionMenu transform.position = SelectedCharacter.transform.position; GameManager.AttackDetailPanel.Hide(); CharacterActionMenuAttack(null); break; case State.ChoosingTradeTarget: // --> CharacterActionMenu DestroyTradableSpaces(); transform.position = SelectedCharacter.transform.position; ShowCharacterActionMenu(SelectedCharacter); break; default: Debug.LogErrorFormat("Invalid Cursor.State in OnCancel: {0}", CurrentState); break; } }
private void OnSubmitFree(Vector2 currentPosition) { SelectedCharacter = GameManager.CurrentLevel.GetCharacter(currentPosition); if (SelectedCharacter != null && !SelectedCharacter.HasMoved) { if (SelectedCharacter.Player.Equals(GameManager.CurrentPlayer)) { CurrentState = State.ChoosingMove; Path.StartPath(SelectedCharacter); } else { AttackableRange.AddCharacter(SelectedCharacter); } } else { GameManager.ShowPlayerActionMenu(); return; } }
public IEnumerator AttackableRangeTest2() { AttackableRange attackableRange = GameManager.Cursor.AttackableRange; yield return(MoveCursor(2, 3)); yield return(Submit()); Assert.AreEqual(1, attackableRange.Characters.Count); Assert.AreEqual(9, attackableRange.AttackableTransforms.Count); yield return(Cancel()); Assert.AreEqual(0, attackableRange.Characters.Count); Assert.AreEqual(0, attackableRange.AttackableTransforms.Count); yield return(MoveCursor(1, 2)); yield return(Submit()); Assert.AreEqual(1, attackableRange.Characters.Count); Assert.AreEqual(0, attackableRange.AttackableTransforms.Count); }