Exemple #1
0
    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;
    }