public void Initialize() { if (PlayerPrefs.HasKey("masterVolume")) { Debug.Log($"masterVolume key exist with value of {PlayerPrefs.GetFloat("masterVolume")}"); this.MasterAudioVolume = PlayerPrefs.GetFloat("masterVolume"); } if (PlayerPrefs.HasKey("voiceVolume")) { this.VoiceAudioVolume = PlayerPrefs.GetFloat("voiceVolume"); } if (PlayerPrefs.HasKey("musicVolume")) { this.MusicAudioVolume = PlayerPrefs.GetFloat("musicVolume"); } if (PlayerPrefs.HasKey("sfxVolume")) { this.SfxAudioVolume = PlayerPrefs.GetFloat("sfxVolume"); } if (PlayerPrefs.HasKey("audioPackage")) { Enum.TryParse(PlayerPrefs.GetString("audioPackage"), out VoicePackage audioPackage); this.VoicePackage = audioPackage; } if (PlayerPrefs.HasKey("imageAudioOption")) { Enum.TryParse(PlayerPrefs.GetString("imageAudioOption"), out ImageAudioOptions imageAudioOptions); this.ImageAudio = imageAudioOptions; } if (PlayerPrefs.HasKey("letterAudioOption")) { Enum.TryParse(PlayerPrefs.GetString("letterAudioOption"), out LetterAudioOptions letterAudioOptions); this.LetterAudio = letterAudioOptions; } if (PlayerPrefs.HasKey("letterCasingOption")) { Enum.TryParse(PlayerPrefs.GetString("letterCasingOption"), out LetterCasingOptions letterCasingOptions); this.LetterCasingOptions = letterCasingOptions; } if (PlayerPrefs.HasKey("shuffleOption")) { this.Shuffle = Convert.ToBoolean(PlayerPrefs.GetInt("shuffleOption")); } if (PlayerPrefs.HasKey("repeatOption")) { this.Repeat = Convert.ToBoolean(PlayerPrefs.GetInt("repeatOption")); } }
private async Task HandleReceivedPackage(IPackage package) { this.online = true; if (package.IdReceiver != "") { await this.server.SendPackage(package); if (package.Type == PackageType.Text || package.Type == PackageType.Voice || package.Type == PackageType.File) { IMessage message = package switch { TextPackage textPackage => new TextMessage(this.Id, textPackage.IdAuthor, textPackage.Time, textPackage.Content), VoicePackage voicePackage => new VoiceMessage(this.Id, voicePackage.IdAuthor, voicePackage.Time, voicePackage.Content), FilePackage filePackage => new FileMessage(this.Id, filePackage.IdAuthor, filePackage.Time, filePackage.Content) }; // Тут нужен текст сообщения еще // Лучше в Imessage еще хранить chatId, и текст var chatId = string.Compare(this.Id, message.IdAuthor) == -1 ? $"{Id} {message.IdAuthor}" : $"{message.IdAuthor} {Id}"; server.dataBase.SetMessage(message, chatId); //this.server.ServerDataBase.AddMessage(message); } this.OnGetPackage?.Invoke(package); } else { switch (package) { case DisconnectPackage: await this.server.Disconnect(this.Id); await this.Disconnect(); break; /*case HistoryRequestPackage historyRequestPackage: * List<IMessage> messages = this.server.ServerDataBase.GetMessages( * this.Id, historyRequestPackage.IdRequest, historyRequestPackage.TimeUntil); * HistoryAnswerPackage packageAnswer1 = new HistoryAnswerPackage(this.Id,"", * messages.Select(message => * { * Tuple<MessageType, string> result = message switch * { * TextMessage textMessage => new Tuple<MessageType, string>(message.Type, * textMessage.Content), * VoiceMessage => new Tuple<MessageType, string>(message.Type, "voice message"), * FileMessage => new Tuple<MessageType, string>(message.Type, "file") * }; * return result; * }).ToList()); * await this.server.SendPackage(packageAnswer1); * break;*/ /*case UsersListRequestPackage usersListRequestPackage: * List<string> users = this.server.ServerDataBase * .GetUsersWithSimilarId(usersListRequestPackage.IdRequest); * UsersListAnswerPackage packageAnswer2 = new UsersListAnswerPackage(this.Id, "", users); * await this.server.SendPackage(packageAnswer2); * break;*/ } } }