public override void SceneStackPoped(Dictionary <string, object> param) { switch (lastPlayState) { case LastPlayState.Play: if (param.ContainsKey("PerfectTrialSucceess") && (bool)param["PerfectTrialSucceess"]) { var gameUtility = (PPDGameUtility)param["GameUtility"]; PerfectTrialCache.Instance.AddPerfectTrial(CryptographyUtility.Getx2Encoding( gameUtility.SongInformation.GetScoreHash(gameUtility.Difficulty))); ssm.SelectedSongInformation.UpdatePerfectTrialInfo(); } allowcommand = true; cc.Next(); mss.DisapperFinish += cc.Show; fm.RemoveFocus(); cc.Vanish(); menuMovie.Seek(ssm.SelectedSongInformation.SongInfo.ThumbStartTime); menuMovie.FadeIn(); sic.UpdateResult(); sic.UpdatePerfectTrials(); goto default; default: menuMovie.Play(); break; } menuMovie.CheckLoopAvailable = true; goToPlay = false; black.Alpha = 0; }
/// <summary> /// 動画を変更する /// </summary> private void ChangeMovie() { if (!allowcommand) { PlayGame(); return; } if (ssm.SelectedSongInformation == null || ssm.SelectedSongInformation.IsFolder || ssm.SelectedSongInformation.SongInfo == null) { return; } string moviePath = ssm.SelectedSongInformation.SongInfo.MoviePath; SongInformation songinfo = ssm.SelectedSongInformation.SongInfo; if (!string.IsNullOrEmpty(moviePath)) { if (PPDSetting.Setting.MenuMoviePreviewDisabled) { return; } var index = this.IndexOf(menuMovie); this.RemoveChild(menuMovie); menuMovie.Dispose(); menuMovie = new MenuMovie(device); this.InsertChild(menuMovie, index); // 動画取得 menuMovie.Movie = GameHost.GetMovie(songinfo); // 動画の最大ボリューム設定 menuMovie.MaximumVolume = songinfo.MovieVolume; menuMovie.FileName = moviePath; // 初期化 try { menuMovie.Initialize(); // 動画のカット設定 menuMovie.TrimmingData = songinfo.TrimmingData; // 動画のループ設定 menuMovie.SetLoop(songinfo.ThumbStartTime, songinfo.ThumbEndTime); // 再生、フェードイン menuMovie.Play(); menuMovie.FadeIn(); } catch { GameHost.AddNotify(PPDExceptionContentProvider.Provider.GetContent(PPDExceptionType.CannotOpenMovie)); } } else { MessageBox.Show(PPDExceptionContentProvider.Provider.GetContent(PPDExceptionType.NoMovieFileInDirectory) + "\n@" + songinfo.DirectoryPath); } }