//ターン開始時の初期化 public void TurnStart() { mAutoStatus = eAutoStatus.eAutoStatus_Start; //行動順を設定 mBattleStateDataSinglton.SortActorSpeed(); }
// 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; } }
private BattleAutoState() { mAutoStatus = eAutoStatus.eAutoStatus_Start; }