강의

멘토링

커뮤니티

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

단짠커피님의 프로필 이미지
단짠커피

작성한 질문수

절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG

Multiplayer Service SDK 활용 (2/2)

캐릭터 중복 생성 문제

작성

·

22

0

안녕하세요. 질문이 있습니다!

 

에디터에서만 플레이 했고, 다음과같은 순서로 플레이하면 캐릭터가 중복해서 생성되는 문제가 있는데 어떻게 해야되는지 궁금하네요.

  1. Lobby 씬에서 Create Session으로 세션 생성

  2. Start Session으로 Level01 씬 이동

  3. Exit 로 Lobby 씬으로 이동

  4. 다시 Lobby 씬에서 Create Session으로 세션 생성

  5. 아직 Level 01로 넘어가지 않았는데 플레이어 캐릭터가 Lobby 씬에서 생성됩니다.

  6. 여기서 Start Session으로 Level01 씬으로 이동하면 새로운 캐릭터가 생성되서 2개의 캐릭터가 생성됨을 확인했습니다.

따로 Lobby 씬으로 돌아갈 때 정리해줘야하는게 있을까요?

답변 2

0

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

안녕하세요.

원인을 찾았습니다. NetworkGameManager의 OnDestroy 에서 콜백이 해제되지 않아서 발생했던 문제입니다. OnDestroy 메소드를 다음과 같이 수정해주세요. 서버 여부와 관계없이 콜백을 제거하도록 수정했습니다.


private void OnDestroy()
{
    if (NetworkManager.Singleton == null) return;

    // IsServer 체크 없이 무조건 콜백 제거
    NetworkManager.Singleton.OnClientConnectedCallback -= OnClientConnected;
}

질문 주셔서 감사합니다.

단짠커피님의 프로필 이미지
단짠커피
질문자

아 그러네요 ㅎㅎㅎ 감사합니다!

0

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

안녕하세요.

코드를 확인해서 동일 증상이 있는지 확인 후 다시 답변드리겠습니다.

단짠커피님의 프로필 이미지
단짠커피

작성한 질문수

질문하기