Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 몬스터
- 오브젝트 깜빡임
- unity git
- m585 수리
- NavMesh
- M590
- 유니티 해상도 변경
- githubdesktopmerge
- networkobject.networkid
- nav오브젝트사이거리
- 깃허브 데스크탑 병합
- 유니티 해상도 설정
- m590 수리
- networkobject
- m585
- 유니티
- navigation
- networkbehaviourid
- unity 병합
- 유니티 브랜치 merge
- nav거리
- Github DeskTop Merge
- stateauthority
- 유니티 합치기
- 깃허브 데스크탑 합치기
- 유니티 해상도
- Unity
- unity merge
- 유니티 머지
Archives
- Today
- Total
집게사장의 꿈
[디자인 패턴] State 본문
[출처]https://unity.com/kr/resources/level-up-your-code-with-game-programming-patterns
객체 내부 상태의 변경될 때 객체가 동작을 변경할 수 있도록 함
각 상태에 대해 정의된 인터페이스를 활용하여 유지보수가 용이
각 상태를 변경할 수 있는 중간자인 Handles이 존재
IState | 각 상태에 따른 동작을 위한 함수가 정의되어 있음. Enter은 상태 진입시 초기화 Update는 상태 유지 Exit는 상태 해제 시 |
StateMachine | 각 상태에 대해 생성과 참조 정의된 상태 변경을 해주는 Handles 역할 PlayerController에서 생성되어서 참조됨 |
상태 변경을 위한 Interface의 내부를 나타낸다.
각 상태에 대한 생성과 변경, 업데이트 동작을 수행한다.
현재 Idle 정의된 동작을 실행한다.
실제 동작에 대한 변경도 PlayerController에서 수행하는 것이 아닌 참조된 PlayerController 바탕으로 변경된다.
PlayerController 내부 에서는 StateMachine을 생성 후 자신에 대한 참조값을 전달한다.
상태 변경도 초기화를 제외하고는 내부에서 수행하지 않는다.
다른 상태에 따른 활용도 가능
'기타 > 디자인패턴' 카테고리의 다른 글
[디자인 패턴]MVP (0) | 2024.05.21 |
---|---|
[디자인 패턴]Observe (0) | 2024.05.21 |
[디자인 패턴] Command (0) | 2024.05.21 |
[디자인 패턴] ObjectPool (0) | 2024.05.19 |
[디자인 패턴] Factory (0) | 2024.05.19 |