void StartServer() { if (client == null) { client = new NetworkClient(); client.RegisterHandler(MsgType.Connect, OnConnect); client.RegisterHandler(MsgType.Disconnect, OnDisconnect); client.RegisterHandler(AlgorithmMessage.GetCustomMsgType(), OnAlgorithm); client.RegisterHandler(AlgorithmRespectMessage.GetCustomMsgType(), OnAlgorithmRespect); client.RegisterHandler(PlayerInformationMessage.GetCustomMsgType(), OnPlayerInformation); client.RegisterHandler(PlayerPaintTileMessage.GetCustomMsgType(), OnPlayerPaintTile); client.RegisterHandler(PaintingColorMessage.GetCustomMsgType(), OnPaintingColor); client.RegisterHandler(PlayerPositionMessage.GetCustomMsgType(), OnPlayerPosition); client.RegisterHandler(PlayerReachedTheEndMessage.GetCustomMsgType(), OnPlayerReachedTheEnd); client.RegisterHandler(PlayerRotationMessage.GetCustomMsgType(), OnPlayerRotation); client.RegisterHandler(PlayerTilesToPaintMessage.GetCustomMsgType(), OnPlayerTilesToPaint); client.RegisterHandler(ForwardDirecMessage.GetCustomMsgType(), OnForwardDirReceive); client.RegisterHandler(ScannedDistanceMessage.GetCustomMsgType(), OnScannedDistance); client.RegisterHandler(CompassRotationMessage.GetCustomMsgType(), OnCompassRotation); //client.RegisterHandler(ReturnToDivergencePointAnswerMessage.GetCustomMsgType(), OnReturnToDivergencePointAnswer); client.Connect(pairedIpAdress.Value, serverPort); } else { Client.Instance.State.Value = ClientGameState.Ready; } }
void SendPlayerPaintTile(Tile tile) { PlayerPaintTileMessage msg = new PlayerPaintTileMessage(); msg.tilePositionX = controls.PlayerPaintTile.Value.Position.x; msg.tilePositionY = controls.PlayerPaintTile.Value.Position.y; msg.tileColor = controls.PlayerPaintTile.Value.Color; clientConnection.Send(msg.GetMsgType(), msg); }
void OnPlayerPaintTile(NetworkMessage netMsg) { PlayerPaintTileMessage msg = netMsg.ReadMessage <PlayerPaintTileMessage>(); var previousTile = controls.PlayerPaintTile.Value; previousTile.Color = msg.tileColor; previousTile.x = msg.tilePositionX; previousTile.y = msg.tilePositionY; controls.PlayerPaintTile.Value = previousTile; }