/* ボタンクリック式 */ IEnumerator DoSelectTarget2(int sumKnockback) { // カーソルオブジェクトを作成 GameObject cursorObj = MakeCursorObj(); string FilePath = "Prefabs\\Battle\\SelectTarget"; GameObject tObj = (GameObject)Instantiate(Resources.Load(FilePath), new Vector3(400, 0, 0), Quaternion.identity); tObj.GetComponent <SelectTarget>().SetParameter(enemyCd); tObj.GetComponent <SelectTarget>().SetEnableButtonFromKnockout(enemyCd); tObj.transform.SetParent(canvas.transform, false); // プレイヤの予測オブジェクトを表示 OpeCharaList.SetPredictActionableCharacter(cd); int charaNum = OpeCharaList.CountActionableCharacter(cd); // コマンドを選ぶまでループ int _mouseOver = -1; int mouseOver = 0; while (true) { // 予測表示 mouseOver = tObj.GetComponent <SelectTarget>().mouseOverId; if (_mouseOver != mouseOver) { SetCursorObj(mouseOver, cursorObj); // カーソルオブジェクトの座標移動 PredictObject.SetInactiveAllPredictObj(null, enemyCd); enemyCd[mouseOver].predictObj.SetFromCharacterStatus(enemyCd[mouseOver], sumKnockback, charaNum); _mouseOver = mouseOver; } // 終了判定 if (tObj.GetComponent <SelectTarget>().selectId != -1) { selectedTarget = tObj.GetComponent <SelectTarget>().selectId; if (selectedTarget < 0) { selectedTarget = -1; // キャンセルした } break; } yield return(0); } Destroy(tObj); Destroy(cursorObj); PredictObject.SetInactiveAllPredictObj(cd, enemyCd); }
} // ---SetCursorObj /* * ================================================ * コマンド選択 / リーダーキャラクター選択 * ================================================ */ // 行動内容選択(アタック・ユニゾン・攻撃) // 設定方法: vec( int, int, int ) で選択肢を // 表示するか否かを示す private IEnumerator DoSelectCommand(Vector3 vec) { string FilePath = "Prefabs\\Battle\\SelectAction"; GameObject selObj = (GameObject)Instantiate(Resources.Load(FilePath), new Vector3(400, 0, 0), Quaternion.identity); selObj.GetComponent <SelectAction>().SetParameter(vec); selObj.transform.SetParent(canvas.transform, false); // コマンドを選ぶまでループ int mouseOverId = 0; int _mouseOverId = -1; while (true) { // マウスオーバーに基づく予測表示処理 if (mouseOverId != _mouseOverId) { PredictObject.SetInactiveAllPredictObj(cd, null); if (mouseOverId == 0) { OpeCharaList.SetPredictActionableCharacter(cd); } if (mouseOverId == 2) { OpeCharaList.SetMagPredictActionableCharacter(cd); } } mouseOverId = selObj.GetComponent <SelectAction>().mouseOverId; // 決定処理 if (selObj.GetComponent <SelectAction>().selectId >= 0) { selectedCommand = selObj.GetComponent <SelectAction>().selectId; break; } yield return(0); } Destroy(selObj); PredictObject.SetInactiveAllPredictObj(cd, null); }