1. 문제 상황
- 클라이언트의 입력과 서버의 3자리 난수를 비교하여 판정하는 함수를 호출하는 이벤트 작성 중
- 현재 ResultJudgment 함수의 실행 결과를 출력하는 부분이 2번 중복되어 출력되는 상황
2. 해결 과정
- 코드에 이상이 있나 확인
ㅡ> 로그를 추가하며 확인해 보아도 함수 호출 자체가 2번 되는 것이지 함수 내에 이상이 있어 보이진 않음 - 의심가는 중복 호출 원인: 블루프린트에서 함수 자체를 2번 호출하는 것일 가능성이 있음
- 블루 프린트 확인
ㅡ> 현재 이벤트 구성이 서버에 존재하는 모든 클라이언트에게 Got BroadCast 함수를 호출시키는 형태
ㅡ> 즉, For Each Loop 노드 뒤에 위치한 노드들은 클라이언트 수만큼 호출되는 형태
- Sequence로 모든 클라이언트에게 호출해야 하는 함수의 호출을 먼저 진행
- 이후 클라이언트의 입력에 따른 판정을 위해 ResultJudgment 함수 따로 호출
ㅡ> 이를 통해 한 번 호출되도록 보장
- 디버깅을 위해 잠시 화면에 서버측의 3자리 난수 출력
- 입력에 대한 판정 출력이 단 한 번 이루어짐
- 더불어 이전에 작성했던 판정 관련 로직이 정상 작동하는 것을 확인
3. 정리
- 입력에 대한 판정 로직 수정
- 중복 출력 문제 해결
참고자료
'언리얼엔진(UE)' 카테고리의 다른 글
[UE] 숫자 야구 게임 #4 (Score, Turn 관리 및 UI 연동) (0) | 2025.03.20 |
---|---|
[UE] 숫자 야구 게임 #3 (Game State를 이용한 Turn 관리) (0) | 2025.03.19 |
[UE] 숫자 야구 게임 #1 (무작위 숫자 생성, 결과 판정 로직) (0) | 2025.03.14 |
[UE] 게임 서버 (Listen, Dedicated) (0) | 2025.03.12 |
[UE] 몬스터 AI 구현 #10 (프로젝트 완) (0) | 2025.03.07 |