private void OnClientSentTestMessage(string Address, DetourMessage msg) { var testMsg = msg as ClientSentTestMessage; TestMessageReceived = true; Assert.That(testMsg.TestString == "TestData"); }
private static void PlayerMoved(string Address, DetourMessage netMsg) { var c = Server.AllClients[Address].StoredData["Player"] as PlayerDefinition; var b = netMsg as PlayerMoveMessage; var _dist = Vector2Int.Distance(c.Position, b.PositionToOperateOn); if (_dist < 4) { c.Position = b.PositionToOperateOn; if (!c.HasMoved) { c.HasMoved = true; } Server.SendMessage(Address, new PlayerMoveCommand { PlayerId = "0", PositionToMoveTo = c.Position, ApplicationVersion = Server.ApplicationVersion, DetourVersion = Server.DetourVersion, MessageType = (int)MessageTypes.PlayerMoveCommand }); Server.SendToRoomExcept(Server.AllClients[Address].StoredData["Room"] as string, new List <string> { Address }, new PlayerMoveCommand { ApplicationVersion = Server.ApplicationVersion, DetourVersion = Server.DetourVersion, MessageType = (int)MessageTypes.PlayerMoveCommand, PlayerId = Address, PositionToMoveTo = c.Position }); } }
private static void OnClientJoinedRoom(string Address, string RoomId, DetourMessage RoomMessage) { var p = RoomMessage as ClientRequestingRoomJoin; var _startPos = RanGen.Next(0, Server.Rooms[RoomId].RoomStartPoints); var Pl = new PlayerDefinition { Id = Address, Name = p.Name, Position = SpawnPositions[_startPos], HasMoved = false, }; System.Console.WriteLine("spawn position: " + Pl.Position.x + " " + Pl.Position.y); Server.StoreClientData(Address, "Player", Pl); Server.StoreClientData(Address, "Room", RoomId); Server.SendToRoomExcept(RoomId, new List <string>(new string[] { Address }), new ClientJoinedRoomMessage() { ApplicationVersion = Server.ApplicationVersion, DetourVersion = Server.DetourVersion, RoomId = RoomId, MessageType = (int)MessageTypes.ClientJoinedRoomMessage, Player = Pl }); var PlayerList = new List <PlayerDefinition>(); foreach (var item in Server.Rooms[RoomId].RoomClients.Values) { if (item.Id != Address) { PlayerList.Add(item.StoredData["Player"] as PlayerDefinition); } } Server.SendMessage(Address, new ClientRoomDataCatchUp { DetourVersion = Server.DetourVersion, ApplicationVersion = Server.ApplicationVersion, RoomId = RoomId, MessageType = (int)MessageTypes.ClientRoomDataCatchUp, Players = PlayerList, ClientStartPosition = SpawnPositions[_startPos], MapSize = Server.Rooms[RoomId].RoomData["MapSize"] as Vector2Int, MapTiles = Server.Rooms[RoomId].RoomData["TileData"] as TileData[, ] }); }
internal void Send(DetourMessage msg) { conn.SendMessage(msg); }
private static void OnClientSentTestMessage(string Address, DetourMessage msg) { var testMsg = msg as ClientSentTestMessage; System.Console.WriteLine("Received TestString: " + testMsg.TestString); }