コード例 #1
0
ファイル: Menu.cs プロジェクト: KHCmaster/PPD
        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;
        }
コード例 #2
0
ファイル: Menu.cs プロジェクト: KHCmaster/PPD
        /// <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);
            }
        }