示例#1
0
        private void OnCharacterCreatedPacket(PacketBase p)
        {
            var packet = (CharacterCreatedPacket)p;

            PCTransferObject pcTO = new PCTransferObject
            {
                LastName    = packet.LastName,
                FirstName   = packet.FirstName,
                Description = packet.Description,
                Level       = packet.Level,
                GlobalID    = packet.GlobalID
            };

            CharacterSelectionVM.PCs.Add(pcTO);

            ClearData();
            _uiService.ChangeUIRoot <CharacterSelectionView>(CharacterSelectionVM);
        }
示例#2
0
        private void HandleConnected(NetIncomingMessage message)
        {
            string username = _connectionToUsername[message.SenderConnection];

            int serverNameLength             = _settingsService.ServerName.Length > 32 ? 32 : _settingsService.ServerName.Length;
            int announcementLength           = _settingsService.Announcement.Length > 255 ? 255 : _settingsService.Announcement.Length;
            ConnectedToServerPacket response = new ConnectedToServerPacket
            {
                ServerName             = _settingsService.ServerName.Substring(0, serverNameLength),
                AllowCharacterDeletion = _settingsService.AllowCharacterDeletion,
                Announcement           = _settingsService.Announcement.Substring(0, announcementLength),
                Category              = _settingsService.GameCategory,
                CurrentPlayers        = _usernameToConnection.Count,
                MaxPlayers            = _settingsService.MaxPlayers,
                PVP                   = _settingsService.PVPType,
                RequiredResourcePacks = _moduleService.GetLoadedModuleData().ResourcePacks
            };

            string directoryPath = _pathService.ServerVaultDirectory + "/" + username + "/";

            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }

            string[] files = Directory.GetFiles(_pathService.ServerVaultDirectory + "/" + username + "/", "*.pcf");
            foreach (string pcFile in files)
            {
                PCData           pc   = _dataService.Load <PCData>(pcFile);
                PCTransferObject pcTO = PCTransferObject.Load(pc);

                response.PCs.Add(pcTO);
            }

            SendMessage(PacketDeliveryMethod.ReliableUnordered, response, username);

            OnPlayerConnected?.Invoke(username);
        }