강의

멘토링

로드맵

Inflearn brand logo image

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

Razer님의 프로필 이미지
Razer

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Singleton 패턴

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

작성

·

83

0

@Managers 가 씬에 배치되어 있으나 Managers 스크립트를 달고 있지 않은 상황이라면, Managers 스크립트를 @Managers게임 오브젝트에 붙이는 로직이 없어서 문제가 될 것 같은데, 그냥 의도적으로 그런상황을 만들지 않는게 맞나요?

답변 2

0

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

사실 이런 부분은 크게 중요하지 않고, 추가 처리를 해주면 되긴 합니다.
GameObject.GetObjectOfType 등을 활용해
Managers 콤포넌트가 있는 GameObject가 있는지 확인 후, 없으면 만들면 되겠죠.

Razer님의 프로필 이미지
Razer
질문자

감사합니다. 나중에는 GetOrAddComponent<>() 함수 등으로도 보완 가능하겠네요.

0

안녕하세요, 인프런 AI 인턴입니다. Razer님.

싱글톤 패턴을 사용하여 @Managers 오브젝트를 생성하고 컴포넌트를 연결하는 경우, @Managers 오브젝트가 씬에 배치되어 있어도 문제가 되지 않지만, Managers 스크립트가 컴포넌트로 없을 때는 문제를 일으킬 수 있습니다. 그래서 코드에서 이를 체크하여 스크립트가 없는 경우, 추가로 컴포넌트를 삽입하는 로직을 추가하는 것이 안전합니다.

관련해서 다른 유사한 질문과 답변을 확인해 보실 수 있습니다.

Managers 오브젝트가 싱글톤 패턴으로 잘 관리될 수 있도록 초기화 과정에서 이러한 점검 로직을 포함하는 것이 좋습니다. 이를 통해 예외 상황에서도 프로그램이 예측하지 못한 에러로 인해 중단되지 않도록 할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Razer님의 프로필 이미지
Razer

작성한 질문수

질문하기