상태패턴(3)
-
[C#, 유니티] Unity3D_RPG 몬스터 (타입 & 제네릭 상태패턴)
나는 커피를 좋아한다 그래서 공부를 하러 가든 친구와 약속을 잡든 우리 주변의 널리고 널린 카페를 탐방하는것을 좋아한다 오늘은 아카데미 근처에 카페에 잠시 들렸다 그곳에서 신기한 놈을 마주했다 이제 사람이 아닌 로봇이 커피를 만들어 내준다 그것도 눈 앞에서 생생하게.. 맛은 그저 그런 커피였지만 신기한 경험이었다 아무튼.. 서두가 길었다; 오늘은 어제에 이어서 몬스터에 대한 응용을 공부해보았다 제네릭(Generic) 다음과 같이 쓰게 될 때 C++에서는 가능했지만 C#에서는 적용이 되지않음을 알 수 있다 이것은 완벽주의적 객체지향을 하는 C#이기때문에 오류가 발생하는데 이를 해결 할 수 있다 탬플릿과 제네릭의 차이점 제네릭(Generic)의 기본 방향은 제네릭이 있으면 "모든 자료형에 모두 대응할 수 있..
2022.09.01 -
[C#, 유니티] Unity3D_RPG 몬스터 (FSM, ViewDector)
몬스터 RPG게임에서 빠져서는 안될 요소로 수많은 RPG게임에 유저들이 매료되고 게임의 스토리 확장과 몰입감에 있어서 필수적인 몬스터를 오늘 구현해보겠습니다 오늘 사용할 에셋은 Wolf(늑대)라는 몬스터를 적용하겠습니다 " 플레이어나 몬스터처럼 복잡한 것들은 가능한 상태패턴을 적용하기로 한다 이는 객체지향적으로 서로 모듈화하여 서로 다른 것들에 영향을 주지않도록 개방폐쇄원칙을 지켜야한다 " 몬스터는 5가지패턴의 상태패턴을 가짐 : { 가만히 있는, 추적, 공격, 맞기, 죽음 } 몬스터는 플레이어의 상태패턴 방식처럼 클래스형태(파일)로 빼놓는게 아닌 코루틴 상태패턴을 사용하겠습니다 코루틴(Coroutine) Co + Routine 의 뜻을 보면 '같이 + 루틴'이라는 의미로서 프레임 단위마다 진행되는 업데..
2022.08.31 -
[C#, 유니티] Unity3D_RPG 상태패턴머신 (디자인패턴)
상태패턴(state pattern) 상태패턴의 사전적 의미 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게 허가하는 패턴으로, 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보입니다 상태패턴의 장점 장점1. 다른 상태에 대한 내용들을 전혀 고려하지 않아도 프로그램 작성에 영향받지 않음 장점2. 확장성이 용이 (새 기능이 추가되어도) 장점3. 내 상태에 대해서만 파악하면 되기 때문에 공략이 유리 장점4. 불필요한 조건문을 줄일 수 있음 상태패턴의 단점 단점1. 상태를 단 하나만 지정해줄 수 있기때문에 중복처리를 해야하는 상태는 적용하기 어려움 (ex. 점프중에 맞는다) 단점2. 상태가 많아지면 조건문 처리가 복잡해짐 상태패턴은 언제 적용하는게 좋은가? 상태패턴을 적용함으로 앞으로 조건들에 ..
2022.08.24