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

themoon007님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

15강 PvP 게임의 완성

서버 레벨 트래블 할때, 분수대 리플리케이션 함수에서 에러발

해결된 질문

23.12.05 22:49 작성

·

246

·

수정됨

0

서버 트래블이 시작 되면, 분수대 액터에서 타이머를 통해서 실행되는 서버에서의 OnRep_ServerLightColor() 함수에서 에러가 발생하는 것 같습니다..

레벨 이동 중에 타이머 콜백 함수가 실행되서 그러는 것 같은데

Travel 하기전에 모든 액터의 타이머를 Clear하는 함수도 써봤는데 안되는 것 같습니다.

GetWorld()->GetTimerManager().ClearAllTimersForObject(...);

 

뭔가 인스턴스가 지워지는 중에 타이머의 콜백함수를 방지하는 방법이 있나요?

답변 1

0

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

2023. 12. 06. 16:20

로컬 핸들 변수를 멤버변수로 바꿔서 설정해보시겠어요?

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

2023. 12. 06. 17:01

타이머 핸들을 멤버변수로 만드는 걸로는 해결이 안되는 것 같은데, 람다 함수 등록 대신 똑같은 기능으로 멤버 함수를 따로 만들어서 등록하면 로컬 타이머 핸들을 사용하더라도 에러 발생하지 않는 것 같습니다.

이게 람다 함수는 뭔가 오브젝트와 연결이 일찍 끊기는 건가요?

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

2023. 12. 06. 21:41

네 저도 그래서 15강 예제에서 람다를 빼고 일반 함수로 바꿨습니다.