/// <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); } }
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(); // } //} }
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(); }
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(); } }