강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

nasukwang님의 프로필 이미지
nasukwang

작성한 질문수

[유니티 레벨 업!] 모듈식으로 개발하는 아이템 시스템

IdentifiedObject

카테고리 클래스를 어떻게 해야할지 모르겠어요ㅜㅜ

작성

·

24

·

수정됨

0

1.이 강좌의 아이템 시스템과 전에 만드신 퀘스트 시스템 강좌를 합치려면 어떻게 해야 하나요?

퀘스트 시스템에서는 아이텐티파이드 오브젝트가 없어서 어떻게 해야할지 모르겠습니다. 

 

2.카테고리 클래스에서 Equals함수와 GetHashCode함수를 오버라이드하는 이유를 잘 모르겠습니다. 참조도 0개고 부모의 구현을 그대로 호출하는데 어떤 의미인지 궁금합니다.

 

아 다이얼로그 시스템 강좌 계획은 없으신지도 궁금합니다.

답변 2

0

Developer G님의 프로필 이미지
Developer G
지식공유자

수강해주셔서 감사합니다.
답변이 늦어 죄송합니다.

1. Quest와 Task가 IdentifiedObject를 상속 받는 형태로 구현하시면 됩니다. 그 다음은 Quest와 Task를 ItemSystemWindow에 등록해주면 됩니다.

2. Equals와 GetHashCode 함수를 구현한 이유는 operator ==을 구현하기 위한 필수 구현이기 때문입니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.
nasukwang님이 올려주신 질문에 대해 답변드리겠습니다.

  1. 아이템 시스템과 퀘스트 시스템을 합치는 방법: 아이템 시스템과 퀘스트 시스템을 합치기 위해 먼저 두 시스템 간의 공통 기능 또는 데이터가 무엇인지 파악해야 합니다. 예를 들어, 아이템과 퀘스트 모두 특정 식별자가 필요할 수 있습니다. 이를 위해 공통의 인터페이스를 도입하여 두 시스템에서 공유할 수 있도록 설계할 수 있습니다. 아이덴티파이어가 필요한 경우, 각 객체에 이를 추가해주시면 됩니다.

  2. 카테고리 클래스에서 Equals 함수와 GetHashCode 함수를 오버라이드하는 이유: 두 함수를 오버라이드하는 것은 주로 객체를 컬렉션에 정확히 저장하거나 비교할 때 사용됩니다. Equals는 객체가 같은지를 비교하기 위해 사용되며, GetHashCode는 객체를 해시 기반의 컬렉션에 저장할 때 필요합니다. 특히, Dictionary나 HashSet에서 두 객체를 구별하는 데 사용됩니다. 오버라이드할 필요가 없어 기존 부모의 구현을 사용했다면, 해당 클래스의 참조나 ID가 유일하지 않을 수 없는 경우가 아닌지 확인해 보세요.

  3. 다이얼로그 시스템 강좌 계획: 이 부분은 해당 강의를 담당하시는 지식공유자분께 직접 문의하는 것이 정확합니다. 수강 전 문의 게시판을 통해 지식공유자분께 관심 있는 강좌 계획이 있는지를 직접 물어보실 수 있습니다.

강의 관련해 추가적으로 궁금한 점이 있다면, 수강 전 문의하기 게시판을 통해 지식공유자에게 물어보는 것도 좋은 방법입니다.
수강 전 문의 페이지에서 더 많은 정보를 확인하실 수 있습니다.

감사합니다.

nasukwang님의 프로필 이미지
nasukwang

작성한 질문수

질문하기