Exemplo n.º 1
0
    /* ボタンクリック式 */
    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);
    }
Exemplo n.º 2
0
    } // ---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);
    }