Ejemplo n.º 1
0
        private void OnClientSentTestMessage(string Address, DetourMessage msg)
        {
            var testMsg = msg as ClientSentTestMessage;

            TestMessageReceived = true;
            Assert.That(testMsg.TestString == "TestData");
        }
Ejemplo n.º 2
0
        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
                });
            }
        }
Ejemplo n.º 3
0
        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[, ]
            });
        }
Ejemplo n.º 4
0
 internal void Send(DetourMessage msg)
 {
     conn.SendMessage(msg);
 }
Ejemplo n.º 5
0
        private static void OnClientSentTestMessage(string Address, DetourMessage msg)
        {
            var testMsg = msg as ClientSentTestMessage;

            System.Console.WriteLine("Received TestString: " + testMsg.TestString);
        }