Beispiel #1
0
    //ターン開始時の初期化
    public void TurnStart()
    {
        mAutoStatus = eAutoStatus.eAutoStatus_Start;

        //行動順を設定
        mBattleStateDataSinglton.SortActorSpeed();
    }
Beispiel #2
0
    // Use this for initialization
    //エフェクトを自動で表示
    public void _Update()
    {
        //一時的なゲームオブジェクト
        GameObject temp = null;

        switch (mAutoStatus)
        {
        case eAutoStatus.eAutoStatus_Start:
            //状態フラグ変更
            mAutoStatus = eAutoStatus.eAutoStatus_Act;

            //行動者オブジェクト取得
            ActorObject actor = mBattleStateDataSinglton.ActorObject;

            //行動対象キャラクターにフォーカス移動
            mCharacterStatusController.SetFocus_Character(actor.actorNum);


            //ローカル変数定義
            GameObject parentObject = null;
            parentObject = GameObject.Find("Canvas");

            //技名
            GameObject prefab_ActionText = null;
            //親を指定し、技名ウインドウを作成する
            prefab_ActionText = Instantiate((GameObject)Resources.Load("Prefabs/Action_Text"));
            prefab_ActionText.transform.SetParent(parentObject.transform);
            prefab_ActionText.GetComponent <DestoroyAtTime>().delayTime = 0.0f;
            prefab_ActionText.GetComponentInChildren <Text>().text
                = mSkillDataSingleton.GetSkillName(actor.skillID);

            //エフェクト表示
            EffectManager mEffectManager = new EffectManager();
            mEffectManager.MakePrefab("FT_Infinity_lite/_Prefabs/Buff/Discharge_Lightning");
            mEffectManager.SetPosition(actor.tergetPos[actor.tergetNum]);

            //ダメージを表示させる
            GameObject prefab_Damage = null;
            //親を指定し、技名ウインドウを作成する
            prefab_Damage = Instantiate((GameObject)Resources.Load("Prefabs/Damage_Text"));
            prefab_Damage.transform.SetParent(parentObject.transform);
            Vector3 posDamage = new Vector3(actor.tergetPos[actor.tergetNum].x, 400);
            prefab_Damage.transform.position = posDamage;

            break;

        case eAutoStatus.eAutoStatus_Act:
            //攻撃エフェクト~ダメージ消去まで表示されたら終了ステータスへ
            temp = GameObject.FindGameObjectWithTag("AutoState_Act");

            if (temp == null)
            {
                GameObject dummy = new GameObject();
                dummy.tag = "AutoState_End";
                //適当な時間待っている。調整は必要?そこまで必要ではない Slip 2017/08/05
                Destroy(dummy, 0.1f);

                //行動後のオブジェクトを消去する
                mBattleStateDataSinglton.RemoveTopActor();

                mAutoStatus = eAutoStatus.eAutoStatus_End;
            }

            break;

        case eAutoStatus.eAutoStatus_End:
            //ウェイト時間経過後に次の行動へ移行する
            temp = GameObject.FindGameObjectWithTag("AutoState_End");

            if (temp == null)
            {
                if (mBattleStateDataSinglton.ActorObject != null)
                {
                    mAutoStatus = eAutoStatus.eAutoStatus_Start;
                }
                else
                {
                    mBattleStateDataSinglton.BattleStateMode
                        = BattleStateDataSinglton.eBattleState.eBattleState_AutoEnd;
                }
            }

            break;

        default:
            break;
        }
    }
Beispiel #3
0
 private BattleAutoState()
 {
     mAutoStatus = eAutoStatus.eAutoStatus_Start;
 }