Exemplo n.º 1
0
    private IEnumerator Wait1()
    {
        yield return(new WaitForSeconds(3));

        spriteM.sprite = spritesMega [0];
        AI.ChooseMove();
        Turn++;
        log++;
    }
Exemplo n.º 2
0
        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;
                }
            }
        }