몇가지 고민이 있습니다.


제가 캐릭터라는 클래스를 생성했습니다.

그런데 캐릭터에는 MotionType라는 것으로 캐릭터의 상태를 지정할 수 있습니다.


이 MotionType을 캐릭터 클래스 내부에 넣어야 하는 것인지, 아니면 다음과 같이 class로 따로 빼줘야 하는지 모르겠습니다.

무엇이 좋을까요? 다들 어떻게 하시는지요?


1. 캐릭터 클래스 내부에 넣어준다.

class Charater

{

typedef enum 

    {

        STANDING = 0,

        RUNNING,

        JUMPING,

        DIED,

        MAX_MOTION_TYPE

    } MotionType;

}

}

이러면 처음에 작성할 때 편하긴 한데, class가 지저분 하지 않을까 고민을 하고요.


2. 따로 class로 빼준다음 사용한다.

class Charater

{

CharaterState::MotionType   m_motionType;

}


class CharaterState

{

public:

    typedef enum 

    {

// 캐릭터의 동작 종류 : 캐릭터 동작 로직이 아닌 순수 캐릭터 애니메이션만 담당한다.

        // 주로 캐릭터의 현재 동작 상태를 표시하는데 쓰인다.

        STANDING = 0,

        RUNNING,

        JUMPING,

        DIED,

        MAX_MOTION_TYPE

        

    } MotionType;

}

이러면 Charater class가 깔금해서 좋긴한데, 캐릭터 내부에 종속되는 데이터를 따로 빼놔도 되는 건지 모르겠네요. 파일 양도 많아지고요.


다들 어떻게 해서 어떤 이점을 얻으셨는지 알려주시면 감사하겠습니다.