コード例 #1
0
ファイル: BattleSelectState.cs プロジェクト: MrSlip777/RPG
    //行動決定時の処理
    //ターゲット表示の位置を渡す(単体用でエフェクト表示に使用する)
    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;
        }
    }