Пример #1
0
    protected override void Awake()
    {
        base.Awake();

        SetGizmoColor(Color.green);
        _cc   = GetComponent <CharacterController>();
        _stat = GetComponent <GoblinStat>();
        _anim = GetComponentInChildren <Animator>();

        _playercc        = GameObject.FindGameObjectWithTag("Player").GetComponent <CharacterController>();
        _playerTransform = _playercc.transform;

        // 스테이트를 다 담는 처리
        GoblinState[] stateValues = (GoblinState[])System.Enum.GetValues(typeof(GoblinState));
        foreach (GoblinState s in stateValues)
        {
            System.Type    FSMType = System.Type.GetType("Goblin" + s.ToString());
            GoblinFSMState state   = (GoblinFSMState)GetComponent(FSMType);
            if (null == state)
            {
                state = (GoblinFSMState)gameObject.AddComponent(FSMType);
            }

            _states.Add(s, state);
            state.enabled = false;
        }
    }
Пример #2
0
    private void Awake()
    {
        _cc    = GetComponent <CharacterController>();
        _stat  = GetComponent <GoblinStat>();
        _anim  = GetComponentInChildren <Animator>();
        _sight = GetComponentInChildren <Camera>();

        _playercc        = GameObject.FindGameObjectWithTag("Player").GetComponent <CharacterController>();
        _playerTransform = _playercc.transform;

        GoblinState[] stateValues = (GoblinState[])System.Enum.GetValues(typeof(GoblinState));
        foreach (GoblinState s in stateValues)
        {
            System.Type    FSMType = System.Type.GetType("Goblin" + s.ToString());
            GoblinFSMState state   = (GoblinFSMState)GetComponent(FSMType);
            if (null == state)
            {
                state = (GoblinFSMState)gameObject.AddComponent(FSMType);
            }

            _states.Add(s, state);
            state.enabled = false;
        }
    }