private IEnumerator Wait1() { yield return(new WaitForSeconds(3)); spriteM.sprite = spritesMega [0]; AI.ChooseMove(); Turn++; log++; }
void ChooseAction(GameTime gameTime) { if (!MoveChosen) { if (currentCanvas == null) { Dialogues.AddText("What will " + playerMokepon.Name + " do?"); Dialogues.DisplayNext(); currentCanvas = new PlayerActionChoiceCanvas(player, playerMokepon); currentCanvas.LoadContent(); } currentCanvas.Update(gameTime); } else { if (currentCanvas.GetType() == typeof(PlayerActionChoiceCanvas)) { currentCanvas.UnloadContent(); currentCanvas = null; GC.Collect(); } if (PlayerMove == "Run") { foreach (var pok in player.Mokepons) { pok.HP = 0; } Dialogues.AddText(player.Name + " has fled from the battle!"); Dialogues.AddText(player.Name + "\'s Mokepons have fainted!"); Dialogues.DisplayNext(); wait = 3.0; SwitchState(BattleState.LOST); return; } else if (PlayerMove == "SwitchMokepon") { if (currentCanvas == null) { currentCanvas = new PlayerChooseMokeponCanvas(player.Mokepons, playerMokepon); currentCanvas.LoadContent(); } if ((currentCanvas as PlayerChooseMokeponCanvas).MokeponChosen == false) { currentCanvas.Update(gameTime); } if ((currentCanvas as PlayerChooseMokeponCanvas).MokeponChosen == true) { if (playerMokepon != null) { hideCanvas = true; Dialogues.AddText(playerMokepon.Name + ", go back!"); Dialogues.DisplayNext(); playerMokepon = null; playerMokeponImage.UnloadContent(); playerMokeponImage = null; playerStats.UnloadContent(); playerStats = null; GC.Collect(); wait = 3.0; return; } playerMokepon = player.Mokepons[(currentCanvas as PlayerChooseMokeponCanvas).Choice]; currentCanvas.UnloadContent(); currentCanvas = null; hideCanvas = false; GC.Collect(); playerMokeponImage = new Image("Mokepons/" + playerMokepon.DefaultName); playerMokeponImage.LoadContent(); playerMokeponImage.MoveMid(new Vector2(Globals.ScreenWidth / 4, 3 * Globals.ScreenHeight / 4 - 100)); PulseEffect pulse = new PulseEffect(2f, 1.5); playerMokeponImage.AddEffect("PulseEffect", ref pulse); playerMokeponImage.ActivateEffect("PulseEffect"); playerStats = new MokeponBattleStats(ref playerMokepon, new Vector2(500, 400), true); playerStats.LoadContent(); Dialogues.AddText(string.Format("Go! {0}!", playerMokepon.Name)); Dialogues.DisplayNext(); wait = 3.0; EnemyMove = EnemyAI.ChooseMove(enemyMokepon, playerMokepon, enemy.AILevel); enemyAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + EnemyMove)); SwitchState(BattleState.USE_ABILITIES); return; } } else if (PlayerMove == "Wait") { Dialogues.AddText(playerMokepon.Name + " decides to wait!"); Dialogues.DisplayNext(); wait = 3.0; EnemyMove = EnemyAI.ChooseMove(enemyMokepon, playerMokepon, enemy.AILevel); enemyAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + EnemyMove)); SwitchState(BattleState.USE_ABILITIES); return; } else if (PlayerMove.StartsWith("Item_")) { string[] strings = PlayerMove.Split('_'); EnemyMove = EnemyAI.ChooseMove(enemyMokepon, playerMokepon, enemy.AILevel); enemyAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + EnemyMove)); playerAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + strings[2])); playerAbility.UsedWithItem = true; playerAbility.ItemName = strings[1]; SwitchState(BattleState.USE_ABILITIES); return; } else { EnemyMove = EnemyAI.ChooseMove(enemyMokepon, playerMokepon, enemy.AILevel); enemyAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + EnemyMove.Replace(" ", ""))); playerAbility = (Ability)Activator.CreateInstance(Type.GetType("MokeponGame.Gameplay.Abilities." + PlayerMove.Replace(" ", ""))); SwitchState(BattleState.USE_ABILITIES); return; } } }