void InitMidiDetail(bool renderMidiList = true) { midi = res.QueryMidiById(level.selectedMidiId); if (!string.IsNullOrEmpty(midi.coverBlurUrl)) { Net.WebCache.instance.LoadTexture(midi.coverBlurUrl, job => { level.backgroundImage.texture = job.GetData(); game.backgroundTexture = job.GetData(); }); } else { level.backgroundImage.texture = level.defaultBackgroundTexture; game.backgroundTexture = null; } song = res.QuerySongById(midi.songId); album = res.QueryAlbumById(song.albumId); author = res.QueryPersonById(midi.authorId); // _id is path for custom midis byte[] bytes = ResourceStorage.ReadMidiBytes(midi); midiId = midi._id; midiFile = new MidiFile(bytes); sequenceCollection = new NoteSequenceCollection(midiFile); sourceText.text = string.Format("{0} • {1}", album.name.TranslateArtifact(), song.name.TranslateArtifact()); titleText.text = midi.name; artistText.text = string.Format("by {0}", author?.name ?? midi.artistName); infoText.text = string.Format("{0:N0} Sequences • {1:N0} Notes • {2}", sequenceCollection.sequences.Count, sequenceCollection.noteCount, hash = MiscHelper.GetHexEncodedMd5Hash(bytes)); statisticsText.text = string.Format(" <size=12>{0:N0}</size> <size=12>{1:N0}</size> <size=12>{2:N0}</size> <size=12>{3:N0}</size>", midi.trialCount, midi.downloadCount, midi.voteSum, midi.loveCount); statusText.text = midi.status; if (string.IsNullOrWhiteSpace(midi.coverUrl)) { coverCutter.Cut(defaultTexture.name, defaultTexture); } else { Net.WebCache.instance.LoadTexture(midi.coverUrl, job => { coverCutter.Cut(job.GetKey(), job.GetData()); }); } if (renderMidiList) { RenderMidiList(midi.songId); } }
void DisplayUserInfo(JsonObj userDict) { TopToolBarScheduler.FadeOutAndDeactivate(loginPopupGroup); loginButtonGroup.gameObject.SetActive(false); userInfoGroup.gameObject.SetActive(true); anim.New(userInfoGroup).FadeIn(userInfoGroup, .2f, 0); game.ExecuteOnMain(() => { nameText.text = (string)userDict["name"]; if (userDict.ContainsKey("avatarUrl")) { web.LoadTexture((string)userDict["avatarUrl"], job => { rawImageCutter.Cut(job.GetKey(), job.GetData()); }); } }); }