CanGo()의 검증이 다중인 이유가 있을까요?
루키스님 안녕하세요?
본 강의 Hit 판정 #1에서 CanGo()로 플레이어 이동간 검증을 해주셨는데요,
GameRoom.cs의 HandleMove()에서 CanGo()를 이미 사용했는데
HandleMove()가 ApplyMove()를 호출함으로써 ApplyMove() 내에서 CanGo()를 다시 호출하고 있습니다.
코스트낭비지 않을까?하고 의문이 들어 질문 올리게 되었습니다.
//GameRoom.cs의 HandleMove()
public void HandleMove(Player player, C_Move movePacket)
{
// ...생략
// CanGo 호출 1
// 다른 좌표로 이동할 경우, 갈 수 있는지 체크
if (movePosInfo.PosX != info.PosInfo.PosX || movePosInfo.PosY != info.PosInfo.PosY)
{
if (_map.CanGo(new Vector2Int(movePosInfo.PosX, movePosInfo.PosY)) == false)
return;
}
// ...생략
// ApplyMove() 호출함으로써 CanGo 호출2
_map.ApplyMove(player, new Vector2Int(movePosInfo.PosX, movePosInfo.PosY));
// ...생략
}
//Map.cs의 ApplyMove()
public bool ApplyMove(Player player, Vector2Int dest)
{
// ...생략
if (CanGo(dest, true) == false)
return false;
// ... 생략
}
강의 재밌게 듣고 있습니다.
미리 답변 감사합니다.
수강자 올림.
답변 1
Lessons 3 & 4 don't have subtitles unfortunately
0
40
1
MessagePack
0
107
1
본인 플레이어 이동 관련 질문
0
71
1
Part7 Part9 질문이 있습니다.
0
93
1
.
0
132
1
.
-1
122
2
게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제
0
105
1
타일 팔레트 깔았는데도 안돼요
0
158
2
2D로 그냥 만들어도 되나요?
0
97
2
지난 강의와 이어지는게 맞을까요?
0
99
2
순환참조 문제로 인해 발생하는 문제는 없을까요?
0
169
2
유니티 클라와 C++서버연동
0
292
2
멀티플레이 테스트 환경 관련 질문입니다
0
230
3
강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!
0
167
2
코드 관련한 몇 가지 질문입니다!
0
170
2
3d 프로젝트 이동 동기화 관련
0
349
4
파트 7 스트레스 테스트 질문 드립니다.
1
208
2
맵 이동 방식
0
147
0
맵 이동 관련해서 질문드립니다.
0
98
1
안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,
0
225
2
안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!
0
174
1
[팁] 2024년 기준 버전 이슈?
0
471
1
SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?
1
215
1
지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것
0
344
2





