Exemplo n.º 1
0
    /// <summary>
    /// 自分のターン 通常攻撃
    /// </summary>
    private void MyTurn_NormalAttack()
    {
        int    intBullet = int.Parse(OperatePlayerData.GetPlayerData("PlayerBullet"));
        string strBullet = Convert.ToString(intBullet - 1);

        OperatePlayerData.SetPlayerData(strBullet, "PlayerBullet");

        var query_Player = (from x in GameManager.xdoc_PlayerData.Descendants("Player")
                            select x).Single();
        var query_Enemy = (from x in GameManager.xdoc_BattleSheet.Descendants("Enemy")
                           where x.Element("BattleNo").Value == GameManager.TargetFlg
                           select x).Single();
        int PlayerAttackValue  = int.Parse(query_Player.Element("PlayerAttackValue_OnBattle").Value);
        int EnemyDiffenceValue = int.Parse(query_Enemy.Element("EnemyDiffenceValue").Value);

        GameManager.Text_MainWindow.text = OperatePlayerData.GetPlayerData("PlayerName") + "の攻撃!";

        StartCoroutine(GameManager.WaitTime_1());

        int Damage = CirculateParameter.DamageCirculate(PlayerAttackValue, EnemyDiffenceValue);

        GameManager.Text_MainWindow.text = GameManager.Text_MainWindow.text + "\n" + query_Enemy.Element("EnemyName").Value + "に" + Damage + "のダメージ!";

        StartCoroutine(GameManager.WaitTime_1());

        //攻撃結果ジャッジ
        if (ComparerParameter.JudgeDamageResult_Single_Player(Damage) == true)
        {
            ManageBattle.DeadEnemy_Single(GameManager.TargetFlg);
        }
    }
    /// <summary>
    /// 自分のターン パワーショット
    /// </summary>
    private void MyTurn_PowerShot()
    {
        int    intBullet = int.Parse(OperatePlayerData.GetPlayerData(GetXMLQueryKey_PlayerData.PlayerBullet()));
        string strBullet = Convert.ToString(intBullet - 2);

        OperatePlayerData.SetPlayerData(strBullet, GetXMLQueryKey_PlayerData.PlayerBullet());

        var query_Player = (from x in BattleStaticValiable.xdoc.Descendants("Player")
                            select x).Single();
        var query_Enemy = (from x in BattleStaticValiable.xdoc2.Descendants("Enemy")
                           where x.Element("BattleNo").Value == GameManager.TargetFlg
                           select x).Single();

        int PlayerAttackValue = int.Parse(query_Player.Element("PlayerAttackValue_OnBattle").Value) *
                                int.Parse(OperatePlayerSkill.GetPlayerSkillData(GetXMLQueryKey_PlayerSkill.PlayerSkill_DamagePercent(int.Parse(GameManager.SkillNoFlg)), int.Parse(GameManager.SkillNoFlg)));
        int EnemyDiffenceValue = int.Parse(query_Enemy.Element("EnemyDiffenceValue").Value);

        GameManager.Text_MainWindow.text = OperatePlayerData.GetPlayerData(GetXMLQueryKey_PlayerData.PlayerName()) + "はパワーショットを放った!";

        int Damage = CirculateParameter.DamageCirculate(PlayerAttackValue, EnemyDiffenceValue);

        GameManager.Text_MainWindow.text = GameManager.Text_MainWindow.text + "\n" + query_Enemy.Element("EnemyName").Value + "に" + Damage + "のダメージ!";

        StartCoroutine(GameManager.WaitTime_1());

        //攻撃結果ジャッジ
        if (ComparerParameter.JudgeDamageResult_Single_Player(Damage) == true)
        {
            ManageBattle.DeadEnemy_Single(GameManager.TargetFlg);
        }
    }
Exemplo n.º 3
0
    private static void EnemyAttack(string BattleNo)
    {
        MonoBehaviour mono = new MonoBehaviour();

        var query_Enemy = (from x in BattleStaticValiable.xdoc2.Descendants("Enemy")
                           where x.Element("BattleNo").Value == BattleNo
                           select x).Single();
        var query_Player = (from x in BattleStaticValiable.xdoc.Descendants("Player")
                            select x).Single();

        int PutternNumber = UnityEngine.Random.Range(1, 100);

        //通常攻撃
        //デバッグ用---------------------------------------------------------↓
        int EnemyAttackValue    = int.Parse(query_Enemy.Element("EnemyAttackValue").Value);
        int PlayerDeffenceValue = int.Parse(query_Player.Element("PlayerDiffenceValue_OnBattle").Value);

        GameManager.Text_MainWindow.text = query_Enemy.Element("EnemyName").Value + "の攻撃!";

        mono.StartCoroutine(GameManager.WaitTime_1());

        int Damage = CirculateParameter.DamageCirculate(EnemyAttackValue, PlayerDeffenceValue);

        GameManager.Text_MainWindow.text = GameManager.Text_MainWindow.text + "\n" + query_Player.Element("PlayerName").Value + "に" + Damage + "のダメージ!";

        mono.StartCoroutine(GameManager.WaitTime_1());

        if (ComparerParameter.JudgeDamageResult_Single_Enemy(Damage) == true)
        {
            ManageBattle.DeadPlayer();
            //ゲームオーバー処理
            mono.StartCoroutine(GameManager.WaitTime_5());

            SceneManager.UnloadSceneAsync("BattleScene");
        }
        //デバッグ用---------------------------------------------------------↑

        ////敵の行動を制御
        //if(1 <= PutternNumber && PutternNumber <= 10)
        //{
        //    //スキル1攻撃
        //}
        //else if(11 <= PutternNumber && PutternNumber <= 20)
        //{
        //    //スキル2攻撃
        //}
        //else if(21 <= PutternNumber && PutternNumber <= 30)
        //{
        //    //スキル3攻撃
        //}
        //else if(31 <= PutternNumber && PutternNumber <= 100)
        //{
        //    //固有行動があれば書く
        //    switch (query_Enemy.Element("EnamyName").Value)
        //    {
        //        case "マメドローン":
        //            break;
        //        default:
        //            break;
        //    }

        //    //通常攻撃
        //    int EnemyAttackValue = int.Parse(query_Enemy.Element("EnemyAttackValue").Value);
        //    int PlayerDeffenceValue = int.Parse(query_Player.Element("PlayerDiffenceValue_OnBattle").Value);

        //    GameManager.Text_MainWindow.text = query_Enemy.Element("EnemyName").Value + "の攻撃!";

        //    int Damage = CirculateParameter.DamageCirculate(EnemyAttackValue, PlayerDeffenceValue);

        //    GameManager.Text_MainWindow.text = GameManager.Text_MainWindow.text + "\n" + query_Player.Element("PlayerName").Value + "に" + Damage + "のダメージ!";

        //    StartCoroutine(GameManager.WaitTime_1());

        //    if (ComparerParameter.JudgeDamageResult_Single_Enemy(Damage) == true)
        //    {
        //        ManageBattle.DeadPlayer();
        //    }
        //}
    }
Exemplo n.º 4
0
    public void TurnStart()
    {
        EnemyTurn et = new EnemyTurn();

        switch (GameManager.CommandFlg)
        {
        case "Attack":
            if (ComparerParameter.SpeedComparer() == true)
            {
                //自分のターン
                MyTurn_NormalAttack();

                //敵のターン
                et.StartEnemyTurn();
            }
            else
            {
                //敵のターン
                et.StartEnemyTurn();

                //自分のターン
                MyTurn_NormalAttack();
            }
            break;

        case "パワーショット":
            if (ComparerParameter.SpeedComparer() == true)
            {
                //自分のターン
                MyTurn_PowerShot();

                //敵のターン
                et.StartEnemyTurn();
            }
            else
            {
                //敵のターン
                et.StartEnemyTurn();

                //自分のターン
                MyTurn_PowerShot();
            }
            break;

        case "リロード":
            if (ComparerParameter.SpeedComparer() == true)
            {
                //自分のターン
                MyTurn_Reload();

                //敵のターン
                et.StartEnemyTurn();
            }
            else
            {
                //敵のターン
                et.StartEnemyTurn();

                //自分のターン
                MyTurn_Reload();
            }
            break;
        }

        GameManager.Text_MainWindow.text = "";
        CheckTurnEnd.Setting();
    }
Exemplo n.º 5
0
    void OnTriggerEnter(Collider col)
    {
        //コリジョン判定かつエンターキーが押された場合
        if (Input.GetKey(KeyCode.Return))
        {
            //どのスキルオブジェクトか?
            var name = this.objChoiceSkill.name;
            switch (name)
            {
            case "Skill1CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "1";
                GameManager.CommandFlg = "パワーショット";
                break;

            case "Skill2CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "2";
                GameManager.CommandFlg = "チャージショット";
                break;

            case "Skill3CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "3";
                GameManager.CommandFlg = "ジャックポット";
                break;

            case "Skill4CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "4";
                GameManager.CommandFlg = "リロード";
                break;

            case "Skill5CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "5";
                GameManager.CommandFlg = "プラズマキャノン";
                break;

            case "Skill6CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "6";
                GameManager.CommandFlg = "向日葵システム";
                break;

            case "Skill7CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "7";
                GameManager.CommandFlg = "自己再生";
                break;

            case "Skill8CursorObject_SkillChooseWindow":
                GameManager.SkillNoFlg = "8";
                GameManager.CommandFlg = "ユグドラシルバスター";
                break;
            }

            //残弾数チェックで半透明になっていたらリターン
            switch (GameManager.CommandFlg)
            {
            case "1":
                if (GameManager.TextSkill1_SkillChooseWindow.color.a == 0.25f)
                {
                    return;
                }
                break;

            case "2":
                if (GameManager.TextSkill2_SkillChooseWindow.color.a == 0.25f)
                {
                    return;
                }
                break;

            case "3":
                if (GameManager.TextSkill3_SkillChooseWindow.color.a == 0.25f)
                {
                    return;
                }
                break;

            default:
                break;
            }

            //スキルの攻撃範囲を取得し、行動パターンを分岐する
            switch (OperatePlayerSkill.GetPlayerSkillData(GetXMLQueryKey_PlayerSkill.PlayerSkill_TargetFlg(int.Parse(GameManager.SkillNoFlg)),
                                                          int.Parse(GameManager.SkillNoFlg)))
            {
            //Singleの時単体攻撃
            case "Single":
                VisibleUIManage.ManageStart_AfterSkillCommandClick();
                break;

            //Multipleの時全体攻撃
            case "Multiple":
                switch (GameManager.CommandFlg)
                {
                case "ジャックポット":
                    if (ComparerParameter.SpeedComparer() == true)
                    {
                        //自分のターン
                        MyTurn_Juckpot();

                        //敵のターン
                        EnemyTurn.StartEnemyTurn();
                    }
                    else
                    {
                        //敵のターン
                        EnemyTurn.StartEnemyTurn();

                        MyTurn_Juckpot();
                    }
                    break;

                default:
                    break;
                }
                break;

            //その他補助技など
            default:
                switch (GameManager.CommandFlg)
                {
                case "リロード":
                    VisibleUIManage.ManageStart_AfterSkillClick_NonTarget();

                    if (ComparerParameter.SpeedComparer() == true)
                    {
                        //自分のターン
                        MyTurn_Reload();

                        //敵のターン
                        EnemyTurn.StartEnemyTurn();
                    }
                    else
                    {
                        //敵のターン
                        EnemyTurn.StartEnemyTurn();

                        MyTurn_Reload();
                    }
                    break;
                }
                break;
            }

            GameManager.Text_MainWindow.text = "";
            CheckTurnEnd.Setting();
        }
        else if (Input.GetKey(KeyCode.Escape))
        {
            VisibleUIManage.ManageStart_AfterSkillCommandClick();
        }
    }
    void OnTriggerEnter(Collider col)
    {
        //コリジョン判定かつエンターキーが押された場合
        if (Input.GetKey(KeyCode.Return))
        {
            //ターゲットを確定する
            var name = this.TargetEnemy.name;
            switch (name)
            {
            case "Target1CursorObject_EnemyTargetWindow":
                GameManager.TargetFlg = "1";
                break;

            case "Target2CursorObject_EnemyTargetWindow":
                GameManager.TargetFlg = "2";
                break;

            case "Target3CursorObject_EnemyTargetWindow":
                GameManager.TargetFlg = "3";
                break;
            }

            VisibleUIManage.ManageStart_BeforeCommandClick();

            switch (GameManager.CommandFlg)
            {
            case "Attack":
                if (ComparerParameter.SpeedComparer() == true)
                {
                    //自分のターン
                    MyTurn_NormalAttack();

                    //敵のターン
                    EnemyTurn.StartEnemyTurn();
                }
                else
                {
                    //敵のターン
                    EnemyTurn.StartEnemyTurn();

                    //自分のターン
                    MyTurn_NormalAttack();
                }
                break;

            case "パワーショット":
                if (ComparerParameter.SpeedComparer() == true)
                {
                    //自分のターン
                    MyTurn_PowerShot();

                    //敵のターン
                    EnemyTurn.StartEnemyTurn();
                }
                else
                {
                    //敵のターン
                    EnemyTurn.StartEnemyTurn();

                    //自分のターン
                    MyTurn_PowerShot();
                }
                break;
            }

            GameManager.Text_MainWindow.text = "";
            CheckTurnEnd.Setting();
        }
        else if (Input.GetKey(KeyCode.Escape))
        {
            //敵選択を閉じる
            VisibleUIManage.ManageStart_AfterCommandClick();
        }
    }