// 쿼리 - 이사를 마쳐도 되는가?. public QueryHouseMoveEnd queryHouseMoveEnd(bool local = true) { QueryHouseMoveEnd query = null; do { query = new QueryHouseMoveEnd(); this.queries.Add(query); } while(false); // 이사 종료 요청을 보냅니다. GameObject netObj = GameObject.Find("Network"); if (netObj && local) { // Network 클래스의 컴포넌트를 획득합니다. Network network = netObj.GetComponent <Network>(); // 이사 종료 요청을 보냅니다. MovingData moving = new MovingData(); moving.characterId = GameRoot.getInstance().account_name_local; moving.houseId = ""; moving.moving = false; MovingPacket packet = new MovingPacket(moving); network.SendReliable <MovingData>(packet); } return(query); }
// 쿼리 이사를 마쳐도 되는가?. public QueryHouseMoveEnd cmdQueryHouseMoveEnd(bool local = true) { QueryHouseMoveEnd query = null; do { query = CharacterRoot.get().queryHouseMoveEnd(local); if (query == null) { break; } this.queries.Add(query); } while(false); return(query); }
public void OnReceiveMovingPacket(PacketId id, byte[] data) { Debug.Log("OnReceiveMovingPacket"); MovingPacket packet = new MovingPacket(data); MovingData moving = packet.GetPacket(); Debug.Log("[CharId]" + moving.characterId); Debug.Log("[HouseName]" + moving.houseId); Debug.Log("[Moving]" + moving.moving); chrController remote = CharacterRoot.get().findCharacter(moving.characterId); // 이사 쿼리 발행. if (remote != null) { if (moving.moving) { Debug.Log("cmdQueryHouseMoveStart"); QueryHouseMoveStart query = remote.cmdQueryHouseMoveStart(moving.houseId, false); if (query != null) { query.set_done(true); query.set_success(true); } } else { Debug.Log("cmdQueryHouseMoveEnd"); QueryHouseMoveEnd query = remote.cmdQueryHouseMoveEnd(false); if (query != null) { query.set_done(true); query.set_success(true); } } } // 이사 정보 보존. GlobalParam.get().remote_moving = moving; }