Esempio n. 1
0
        public static void SendTileChangePacket(Tile tile)
        {
            var tileChangePacket = new TileTypePacket()
            {
                X        = tile.TileX,
                Y        = tile.TileY,
                TileType = tile.TileType
            };

            var package = NetworkManager.MessagePackager.Package(tileChangePacket);

            NetworkManager.SendMessage(package);
        }
Esempio n. 2
0
        private async void SendMap(Connection connection)
        {
            for (var i = 0; i < _gameWorld.Width; i++)
            {
                for (var j = 0; j < _gameWorld.Height; j++)
                {
                    // TODO NETWORK GAME AREAS
                    var tileToSend     = _gameWorld.GameAreas[0].Tiles[i, j];
                    var tileTypePacket = new TileTypePacket()
                    {
                        X        = tileToSend.TileX,
                        Y        = tileToSend.TileY,
                        TileType = tileToSend.TileType
                    };
                    var packet = _messagePackager.Package(tileTypePacket);
                    _networkManager.SendMessage(packet, connection);
                }

                await Task.Delay(1);
            }

            foreach (var player in _entitySet.GetAll())
            {
                var playerPacket = new NewPlayerPacket()
                {
                    SteamId = player.EntityId,
                    X       = (int)player.X,
                    Y       = (int)player.Y,
                    HeadId  = 1
                };

                var package = _messagePackager.Package(playerPacket);

                _networkManager.SendMessage(package, connection);

                await Task.Delay(1);
            }

            var mapSendCompletePacket  = new MapSendCompletePacket();
            var mapSendCompletePackage = _messagePackager.Package(mapSendCompletePacket);

            _networkManager.SendMessage(mapSendCompletePackage, connection);
        }