Esempio 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);
        }
    }
    /// <summary>
    /// 読み込み時
    /// </summary>
    void Start()
    {
        //全ターゲット判定用オブジェクトを起動
        VisibleUIManage.ManageStart_ChoiseTargetEnemy_1();
        VisibleUIManage.ManageStart_ChoiseTargetEnemy_2();
        VisibleUIManage.ManageStart_ChoiseTargetEnemy_3();

        ManageBattle.CheckCanTargetEnemy_Single();

        var query_Enemy = from x in BattleStaticValiable.xdoc2.Descendants("Enemy")
                          select x;

        //No順にテキストに敵の名前を入れる
        foreach (var item in query_Enemy)
        {
            switch (item.Element("BattleNo").Value)
            {
            case "1":
                GameManager.TextTarget1_EnemyTargetWindow.text = item.Element("EnemyName").Value;
                break;

            case "2":
                GameManager.TextTarget2_EnemyTargetWindow.text = item.Element("EnemyName").Value;
                break;

            case "3":
                GameManager.TextTarget3_EnemyTargetWindow.text = item.Element("EnemyName").Value;
                break;
            }
        }

        //名前が空なら判定を消去する
        string s1 = OperateBattleSheetData.GetBatteSheetData(GetXMLQueryKey_EnemyData.EnemyName(), 1);
        string s2 = OperateBattleSheetData.GetBatteSheetData(GetXMLQueryKey_EnemyData.EnemyName(), 2);
        string s3 = OperateBattleSheetData.GetBatteSheetData(GetXMLQueryKey_EnemyData.EnemyName(), 3);

        if (s1 == "")
        {
            VisibleUIManage.ManageStart_ReturnTargetEnemy_1();
        }
        if (s2 == "")
        {
            VisibleUIManage.ManageStart_ReturnTargetEnemy_2();
        }
        if (s3 == "")
        {
            VisibleUIManage.ManageStart_ReturnTargetEnemy_3();
        }
    }
    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();
        //    }
        //}
    }