//攻撃ボタンを押下時の処理 public void Implement_Button_Attack() { //敵ターゲット表示させる UIState(false, eTergetScope.forOne); //前の状態を更新する mUIpreviousstate = mUIstate; //UI状態を敵ターゲット選択状態にする mUIstate = eUIStatus.eUIStatus_focusEnemy; }
//UIの初期設定 private void SetUIDefault() { UIState(true, eTergetScope.Hide); //フォーカスを攻撃ボタンにする mMainMenuController. SetFocus_Button(MainMenuController.eMainButton.eButton_Attack); //UI状態をメインの項目選択状態にする mUIstate = eUIStatus.eUIStatus_Main; //前の状態を更新する mUIpreviousstate = mUIstate; }
//行動決定時の処理 //ターゲット表示の位置を渡す(単体用でエフェクト表示に使用する) public void Implement_DecideAct(int tergetNum, Vector3[] tergetPos) { ActorObject actorObject = new ActorObject(); actorObject.actorNum = mCharacterDataSingleton.GetSelectingCharacter(); actorObject.speed = mCharacterDataSingleton.CharaSpeed(actorObject.actorNum); actorObject.actor = eActorScope.Friend; //保持している行動者のスキルIDを渡す(キャンセル操作に注意) actorObject.skillID = mActorSkillID; //ターゲットの渡す actorObject.terget = mTergetScope; actorObject.tergetNum = tergetNum; actorObject.tergetPos = tergetPos; mBattleStateDataSingleton.ActorObject = actorObject; //パーティ最大人数は4であり、4以上である場合は行動選択画面を終了する if (4 > mCharacterDataSingleton.GetSelectingCharacter()) { //次のキャラを行動可能状態にする mCharacterStatusController .SetFocus_Character(mCharacterDataSingleton.NextSelectingCharacter()); //行動をデフォルトに戻す SetUIDefault(); } else { //敵の行動を自動選択により設定する for (int i = 0; i < mEnemiesDataSingleton.EnemiesNum; i++) { mBattleStateDataSingleton.ActorObject = mEnemiesDataSingleton.getAutoActorData(); } //ターゲットを非表示にする UIState(false, eTergetScope.Hide); //暫定的に行動順 mCharacterStatusController.SetNoFocus(); //前の状態を更新する mUIpreviousstate = mUIstate; //戦闘画面状態を敵ターゲット選択状態にする mBattleStateDataSingleton.BattleStateMode = BattleStateDataSinglton.eBattleState.eBattleState_SelectEnd; } }
//アイテムボタンを押下時の処理 public void Implement_Button_Item() { mSubMenuController .SetContents(MainMenuController.eMainButton.eButton_Item, null); //サブメニュー表示 mSubMenuController.ShowSubMenu(); //メインメニューを有効/無効にする mMainMenuController.EnableDisable_Button(false); //前の状態を更新する mUIpreviousstate = mUIstate; //UI状態をアイテム選択状態にする mUIstate = eUIStatus.eUIStatus_Item; }
//ターン開始時の初期化 public void TurnStart() { mMainMenuController.InitialSelectButton(); //UI状態 選択肢表示がデフォルト mUIstate = eUIStatus.eUIStatus_Main; mUIpreviousstate = mUIstate; //ターゲットの初期化 mTergetController.ShowHide_Terget(eTergetScope.Hide); //キャラクターステータス表示ウインドウの初期化 mCharacterStatusController.InitialSelectCharacter(); //行動選択者の初期化 mCharacterDataSingleton.TurnStartCharacter(); }
//サブメニュー内のボタンが押されたときの処理 public void Implement_Button_Content(int number) { int[] SkillId = mCharacterDataSingleton.GetSkillIndex(1); //行動者のスキルIDを保持する mActorSkillID = SkillId[number]; //敵ターゲット表示させる UIState(false, mCharacterDataSingleton.GetSkillScope(SkillId[number])); //サブメニュー非表示 mSubMenuController.HideSubMenu(); //前の状態を更新する mUIpreviousstate = mUIstate; //UI状態を敵選択状態にする(暫定的) mUIstate = eUIStatus.eUIStatus_focusEnemy; }
//スキルボタンを押下時の処理 public void Implement_Button_Skill() { //設定 mSubMenuController .SetContents(MainMenuController.eMainButton.eButton_Skill, mCharacterDataSingleton.GetSkillIndex(1)); //サブメニュー表示 mSubMenuController.ShowSubMenu(); //メインメニューを有効/無効にする mMainMenuController.EnableDisable_Button(false); //前の状態を更新する mUIpreviousstate = mUIstate; //UI状態をスキル選択状態にする mUIstate = eUIStatus.eUIStatus_Skill; }
//キャンセル動作 private void Implement_Cancel() { if (IsPush == true && (Input.GetKey(KeyCode.Escape) == true || Input.GetMouseButton(1) == true)) { switch (mUIstate) { case eUIStatus.eUIStatus_focusEnemy: if (mUIpreviousstate == eUIStatus.eUIStatus_Main) { //フォーカスを攻撃にして、メイン選択ウインドウを表示 SetUIDefault(); } else if (mUIpreviousstate == eUIStatus.eUIStatus_Skill) { UIState(true, eTergetScope.Hide); Implement_Button_Skill(); } else if (mUIpreviousstate == eUIStatus.eUIStatus_Item) { UIState(true, eTergetScope.Hide); Implement_Button_Item(); } break; case eUIStatus.eUIStatus_Skill: //スクロールビューを非表示にする mSubMenuController.HideSubMenu(); mMainMenuController.EnableDisable_Button(true); //フォーカスをスキルボタンにする mMainMenuController. SetFocus_Button(MainMenuController.eMainButton.eButton_Skill); //UI状態をメインの項目選択状態にする mUIstate = eUIStatus.eUIStatus_Main; //前の状態を更新する mUIpreviousstate = mUIstate; break; case eUIStatus.eUIStatus_Item: //スクロールビューを非表示にする mSubMenuController.HideSubMenu(); mMainMenuController.EnableDisable_Button(true); //フォーカスをアイテムボタンにする mMainMenuController. SetFocus_Button(MainMenuController.eMainButton.eButton_Item); //UI状態をメインの項目選択状態にする mUIstate = eUIStatus.eUIStatus_Main; //前の状態を更新する mUIpreviousstate = mUIstate; break; case eUIStatus.eUIStatus_Main: //パーティ最小人数は1であり、1以下である場合はなにも処理を実行しない if (1 < mCharacterDataSingleton.GetSelectingCharacter()) { //次のキャラを行動可能状態にする mCharacterStatusController .SetFocus_Character(mCharacterDataSingleton.BeforeSelectingCharacter()); //行動をデフォルトに戻す SetUIDefault(); } break; default: break; } } }