// ---------------------------------------------------------------- // // 통신 처리 함수. // public void OnReceiveSyncGamePacket(PacketId id, byte[] data) { Debug.Log("Receive GameSyncPacket.[TitleControl]"); SyncGamePacket packet = new SyncGamePacket(data); SyncGameData sync = packet.GetPacket(); for (int i = 0; i < sync.itemNum; ++i) { string log = "[CLIENT] Sync item pickedup " + "itemId:" + sync.items[i].itemId + " state:" + sync.items[i].state + " ownerId:" + sync.items[i].ownerId; Debug.Log(log); ItemManager.ItemState istate = new ItemManager.ItemState(); // 아이템의 상태를 매니저에 등록. istate.item_id = sync.items[i].itemId; istate.state = (ItemController.State)sync.items[i].state; istate.owner = sync.items[i].ownerId; if (GlobalParam.get().item_table.ContainsKey(istate.item_id)) { GlobalParam.get().item_table.Remove(istate.item_id); } GlobalParam.get().item_table.Add(istate.item_id, istate); } isReceiveSyncGameData = true; }
public void OnReceiveSyncGamePacket(PacketId id, byte[] data) { SyncGamePacket packet = new SyncGamePacket(data); SyncGameData syncGame = packet.GetPacket(); setSeed(syncGame.randomSeed); isPlayer1 = false; SceneManager.LoadScene("Hong"); }
//connect 되었을 떄 서버에서 이루어지는 함수 private void SendGameSyncInfo() { //랜덤 시드 정하고 보내준다 setSeed(40); SyncGameData data = new SyncGameData(); data.randomSeed = UnityEngine.Random.seed; SyncGamePacket packet = new SyncGamePacket(data); network_.SendReliable(packet); isPlayer1 = true; SceneManager.LoadScene("Hong"); }
public void OnReceiveSyncGamePacket(PacketId id, byte[] data) { Debug.Log("Receive GameSyncPacket[CharacterRoot]."); SyncGamePacket packet = new SyncGamePacket(data); SyncGameData sync = packet.GetPacket(); Debug.Log("[CharId]" + sync.moving.characterId); Debug.Log("[HouseName]" + sync.moving.houseId); Debug.Log("[Moving]" + sync.moving.moving); if (sync.moving.characterId.Length == 0) { // 이사하지 않았다. return; } // 이사 정보 보존. GlobalParam.get().remote_moving = sync.moving; }
private void SendGameSyncInfo() { Debug.Log("[SERVER]SendGameSyncInfo start"); SyncGameData data = new SyncGameData(); data.version = SERVER_VERSION; data.itemNum = itemTable_.Count; data.items = new ItemData[itemTable_.Count]; // 서버에서는 이사 정보는 보내지 않습니다. data.moving = new MovingData(); data.moving.characterId = ""; data.moving.houseId = ""; data.moving.moving = false; int index = 0; foreach (ItemState state in itemTable_.Values) { data.items[index].itemId = state.itemId; data.items[index].ownerId = state.ownerId; data.items[index].state = (int)state.state; string log = "[SERVER] Item sync[" + index + "]" + "itemId:" + data.items[index].itemId + " state:" + data.items[index].state + " ownerId:" + data.items[index].ownerId; Debug.Log(log); ++index; } Debug.Log("[SERVER]SendGameSyncInfo end"); SyncGamePacket packet = new SyncGamePacket(data); network_.SendReliable <SyncGameData>(packet); }
private void SendGameSyncInfo() { Debug.Log("[SERVER]SendGameSyncInfo start"); SyncGameData data = new SyncGameData(); data.version = SERVER_VERSION; data.itemNum = itemTable_.Count; data.items = new ItemData[itemTable_.Count]; // 서버에서는 이사 정보는 보내지 않습니다. data.moving = new MovingData(); data.moving.characterId = ""; data.moving.houseId = ""; data.moving.moving = false; int index = 0; foreach (ItemState state in itemTable_.Values) { data.items[index].itemId = state.itemId; data.items[index].ownerId = state.ownerId; data.items[index].state = (int)state.state; string log = "[SERVER] Item sync[" + index + "]" + "itemId:" + data.items[index].itemId + " state:" + data.items[index].state + " ownerId:" + data.items[index].ownerId; Debug.Log(log); ++index; } Debug.Log("[SERVER]SendGameSyncInfo end"); SyncGamePacket packet = new SyncGamePacket(data); network_.SendReliable<SyncGameData>(packet); }
// ---------------------------------------------------------------- // // 통신 처리 함수. // public void OnReceiveSyncGamePacket(PacketId id, byte[] data) { Debug.Log("Receive GameSyncPacket.[TitleControl]"); SyncGamePacket packet = new SyncGamePacket(data); SyncGameData sync = packet.GetPacket(); for (int i = 0; i < sync.itemNum; ++i) { string log = "[CLIENT] Sync item pickedup " + "itemId:" + sync.items[i].itemId + " state:" + sync.items[i].state + " ownerId:" + sync.items[i].ownerId; Debug.Log(log); ItemManager.ItemState istate = new ItemManager.ItemState(); // 아이템의 상태를 매니저에 등록. istate.item_id = sync.items[i].itemId; istate.state = (ItemController.State) sync.items[i].state; istate.owner = sync.items[i].ownerId; if (GlobalParam.get().item_table.ContainsKey(istate.item_id)) { GlobalParam.get().item_table.Remove(istate.item_id); } GlobalParam.get().item_table.Add(istate.item_id, istate); } isReceiveSyncGameData = true; }