- Player
- Weapon Component (무기 교체, 무기 프리펩 저장, 무기 소환 및 장착, Weapon에 공격명령 등 / Player와 Monster가 사용한다.)
- Weapon(Abstract) - Prefab에 할당한다.
- 실제로 무기타입을 enum을 쓰는경우도 있지만 idle?과 인터페이스로 구현하는 경우가 많다.
- Start는 유니티에서 제공하는 개별적인 함수이기 때문에 상속관계에 있는 부모 자식에 Start가 두곳다 있으면 누가 먼저 실행될지 알 수 없다.
- Start는 유니티에서 제공하는 개별적인 함수이기 때문에 상속관계에 있는 부모 자식에 Start가 두곳다 있으면 누가 먼저 실행될지 알 수 없다.
- 해결 방법 : Protected virtual ⇒ 재정의가 가능해진다.
- 개발 순서 : 뭘 만들지 생각한다. → 당장 뭐가 필요한지 생각한다. → 변수를 만들고 함수를 정의한다.
- 오브젝트를 찾아서 할당할때 ‘반드시’ Assert로 확인을 해봐야한다.
- 플레이어에게 2번째거 장착하라고 명령내림 → 웨폰 컴포넌트에 ~~ → Sword에 ~~ 녹음듣자
- 프로그램이 흘러가는 도식화 : 시퀀스 다이어그램 ⇒ 클래스간의 관계를 시각화한다. (옛날 GUI 했을때 사용했다)
- 자잘한 기능이라도 함수로 빼놓고 호출하여 사용하는 이유 : 나중에 조금이라도 추가나 삭제가 된다면 바꾸기 평하게 사용하기 위해서다.
무기 장착 순서도
- Player - Update() - Key2 - SetSwordMode();
- WeaponComponent - SetSwordMode() - IdleMode 체크 - SetMode(Sword) → SetMode()
- 같음 : Unarmed
- 기존 무기 : 해제
- 위에거 다 넘기면? : 무기 장착
- Weapon[_].Equip()
- Weapon - Equip() - state.SetEquipMode(); - 장착 모션 플레이