public void ReceiveGridUpdateFromServer(NWMGridData grid_data) { GridNode node_update = new GridNode(); node_update.player_id = grid_data.player_ID; node_update.tile_type = grid_data.tile_type; node_update.tile_y_rotation = grid_data.tile_rotation; node_update.x = grid_data.grid_x; node_update.y = grid_data.grid_y; client_grid.UpdateClientGrid(node_update); }
public void SendGridUpdateToServer(GridNode node) { NWMGridData grid_data = new NWMGridData(); grid_data.grid_x = node.x; grid_data.grid_y = node.y; grid_data.player_ID = node.player_id; grid_data.tile_rotation = node.tile_y_rotation; grid_data.tile_type = node.tile_type; client_network.SendGridData(grid_data); }
//set new info of the grid from a client public void SetGridTile(NWMGridData grid_message) { for (int y = 0; y < grid_y; y++) { for (int x = 0; x < grid_y; x++) { if (grid_message.grid_x == x && grid_message.grid_y == y) { grid_list[y][x].tile_type = grid_message.tile_type; grid_list[y][x].player_id = grid_message.player_ID; grid_list[y][x].tile_y_rotation = grid_message.tile_rotation; UpdateVisualGrid(grid_message.grid_x, grid_message.grid_y, grid_message.tile_type, grid_message.player_ID, grid_message.tile_rotation); server.UpdateClientGrids(grid_message); } } } }
private void OnDataRecieved(int client_id, int channel_id, int host_id, NetworkMessage message) { switch (message.operation) { case NetworkOperation.none: break; case NetworkOperation.set_ready: NWMPlayerReady ready_message = (NWMPlayerReady)message; if (lobby) { lobby.SetPlayerReadyState(client_id, ready_message.ready_state); lobby.SetPlayerName(client_id, ready_message.player_name); } else if (game) { game.ClientReady(client_id, ready_message.ready_state); } break; case NetworkOperation.cart_data: NWMCartData cart_message = (NWMCartData)message; game.SetPlayerCartData(cart_message); break; case NetworkOperation.grid_single: NWMGridData grid_message = (NWMGridData)message; game.SetGridTile(grid_message); break; case NetworkOperation.cart_off_tracks: ReceiveOffTrackInfo(client_id); break; } }
public void UpdateClientGrids(NWMGridData grid_data) { SendAllClientsMessage(host_id, reliable, grid_data); }
public void SendGridData(NWMGridData grid_single) { SendServerMessage(grid_single, reliable); }
//receive update of one grid tile public void ReceiveSingleGridData(NWMGridData grid_single) { network_GM.ReceiveGridUpdateFromServer(grid_single); }
private void OnDataReceived(int channel_id, int host_id, NetworkMessage message) { switch (message.operation) { case NetworkOperation.none: break; case NetworkOperation.set_ready: break; case NetworkOperation.cart_data: NWMCartData cart_data = (NWMCartData)message; ReceiveCartData(cart_data); break; case NetworkOperation.grid_single: NWMGridData grid_data = (NWMGridData)message; ReceiveSingleGridData(grid_data); break; case NetworkOperation.user_counter: NWMUserCount user_counter = (NWMUserCount)message; ReceiveUserCount(user_counter); break; case NetworkOperation.scene_load: NWMSceneLoad scene_load = (NWMSceneLoad)message; ReceiveSceneToLoad(scene_load); break; case NetworkOperation.assign_num: NWMAssignPlayerNum assigner = (NWMAssignPlayerNum)message; player_id = assigner.num; Debug.Log(client_id); break; case NetworkOperation.gold_pos: NWMGoldUpdate goldUpdate = (NWMGoldUpdate)message; ReceiveGoldPositionUpdate(goldUpdate); break; case NetworkOperation.player_score: NWMScoreUpdate scoreUpdate = (NWMScoreUpdate)message; ReceiveScoreUpdate(scoreUpdate); break; case NetworkOperation.player_info: NWMPlayerIDUpdate idUpdate = (NWMPlayerIDUpdate)message; ReceivePlayerDataUpdate(idUpdate); break; case NetworkOperation.game_start: NWMGameStart start_msg = (NWMGameStart)message; SetClientGameStarted(start_msg); break; case NetworkOperation.player_respawn: NWMPlayerRespawn respawn_data = (NWMPlayerRespawn)message; ReceivePlayerRepsawnData(respawn_data); break; case NetworkOperation.timer_seconds: NWMTimerUpdate timer_data = (NWMTimerUpdate)message; ReceiveUpdateTimer(timer_data); break; case NetworkOperation.game_finished: NWMGameFinishedSendInfo game_finished_info = (NWMGameFinishedSendInfo)message; ReceiveGameFinishedInfo(game_finished_info); break; } }