// 플레이어가 범위내를 벚어났을 때 알리기. public void ResponseRemoveNearPlayer(CGameUser user, CGameUser user2) { CPacket response = CPacket.create((short)PROTOCOL.REMOVE_NEAR_PLAYER_RES); PushPlayerrData(user2, response); user.send(response); }
// 내 케릭 가져다주기. public void ResponseGetMyPlayer(CGameUser user) { CPacket response = CPacket.create((short)PROTOCOL.GET_MY_PLAYER_RES); PushPlayerrData(user, response); user.send(response); }
public void ResponsePlayers(CGameUser user) { CPacket response = CPacket.create((short)PROTOCOL.PLAYERS_RES); response.push(userList.Count); for (int i = 0; i < userList.Count; ++i) { response.push(userList[i].player.UserId); response.push(userList[i].player.CurrentPosX); response.push(userList[i].player.CurrentPosY); } user.send(response); }
// 플레이어 이동. public void RequestPlayerMove(CGameUser user) { // 이동한 플레이어에게 서버에 이동한거 등록했다고 답장 CPacket response = CPacket.create((short)PROTOCOL.PLAYER_MOVE_RES); PushPlayerrData(user, response); user.send(response); // 이동한 녀석의 좌표를 다른 플레이어들에게 보내기 foreach (var userData in user.player.listNearbyUser) { PushPlayerrData(user, response); userData.send(response); } }
public void UserEntedServer(CGameUser user) { // 대기 리스트에 중복 추가 되지 않도록 체크. if (this.userList.Contains(user)) { return; } // 서버에 유저 추가. userList.Add(user); CPacket response = CPacket.create((short)PROTOCOL.ENTER_GAME_ROOM_RES); response.push(user.player.UserId); user.send(response); AddNewPlayerRes(user); }