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; } }
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; } }