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); }
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); }