Exemple #1
0
 //스테이트 변경
 public void ChangeState(M_FSMState m_ChangState)
 {
     m_FsmState.Exit();                              //이전 State 이탈
     m_FsmState = m_ChangState;                      //현재 State 변경
     monState   = m_ChangState.TopState;             //변경된 State의 enum Index 설정
     m_FsmState.Enter();                             //변경된 State 진입
 }
Exemple #2
0
    //Initialize  초기화
    void Initialize()
    {
        //몬스터 컴포넌트 가져오기
        tr       = GetComponent <Transform>();
        nvAgent  = GetComponent <NavMeshAgent>();
        animator = GetComponentInChildren <Animator>();


        //시야 마스크 설정
        inSightLayerMask = (1 << LayerMask.NameToLayer(Layers.MonsterAttkCollider))
                           | (1 << LayerMask.NameToLayer(Layers.MonsterHitCollider))
                           | (1 << LayerMask.NameToLayer(Layers.AlleyTrigger));
        inSightLayerMask = ~inSightLayerMask;


        //플레이어 정보
        playerTr = GameObject.FindWithTag(Tags.Player).GetComponent <Transform>();


        //idle상태로 시작
        monState   = M_TopState.Idle;
        m_FsmState = M_Idle.instance;
    }