void Start() { _type = UnitType.Enemy; _isMoving = false; InitAbility(); _players = new List <PlayerBehaviour>(); _playerObjects = GameObject.FindGameObjectsWithTag("Player"); foreach (var player in _playerObjects) { _players.Add(player.GetComponent <PlayerBehaviour>()); } _animator = GetComponent <Animator>(); _stateProcessor = new StateProcessor(); StateIdle = new StateIdle(); //待機状態 StateSelect = new StateSelect(); //選択状態 StateMove = new StateMove(); //移動状態 StateAttack = new StateAttack(); //攻撃状態 StateIntercept = new StateIntercept(); //傍受状態 _stateProcessor.State = StateIdle; StateIdle.execDelegate = IdleUpdate; StateSelect.execDelegate = SelectUpdate; StateMove.execDelegate = MoveUpdate; StateAttack.execDelegate = AttackUpdate; StateIntercept.execDelegate = InterceptUpdate; }
void Start() { _type = UnitType.Player; _animator = GetComponent <Animator>(); _menuPanel = GameObject.FindGameObjectWithTag("Panel"); _menuFlag = false; InitAbility(); _stateProcessor = new StateProcessor(); StateIdle = new StateIdle(); //待機状態 StateSelect = new StateSelect(); //選択状態 StateMove = new StateMove(); //移動状態 StateAttack = new StateAttack(); //攻撃状態 StateIntercept = new StateIntercept(); //傍受状態 _stateProcessor.State = StateIdle; StateIdle.execDelegate = IdleUpdate; StateSelect.execDelegate = SelectUpdate; StateMove.execDelegate = MoveUpdate; StateAttack.execDelegate = AttackUpdate; StateIntercept.execDelegate = InterceptUpdate; }