/// <summary>
        /// 譜面を読み込み、譜面データを返す
        /// </summary>
        public static MusicSheet Load(MasterData.MusicMasterData master)
        {
            // 譜面データ初期化
            sheet = new MusicSheet(master.Id);
            sheet.InitializeLoad();
            LoadMode = 3;

            // 譜面ファイル情報を取得する
            string   fileName = string.Format("{0}/sheet3.pms", master.FileName);
            FileInfo fi       = new FileInfo(Application.dataPath + "/MusicResources/Resources/" + fileName);

            if (fi == null)
            {
#if DEBUG
                Debug.Log("【エラー】譜面ファイル[" + fileName + "]がありません。");
#endif
                return(null);
            }

            // 譜面ファイルを読み込む
            using (StreamReader sr = new StreamReader(fi.OpenRead(), Encoding.Default))
            {
                // データを1行ずつ読む
                ReadBMSData(sr);

                // 全データ読み込み完了後の処理
                sheet.InitializePlay();
            }

            return(sheet);
        }
Beispiel #2
0
        /// <summary>
        /// 譜面データを読み込み設定する
        /// キャッシュに残っている場合はキャッシュから取得する
        /// </summary>
        public void LoadMusicSheet(ulong sheetId)
        {
            MusicSheet sheet = null;

            // キャッシュを確認しない場合は新しく読み込む
            if (musicSheetCache.ContainsKey(sheetId))
            {
                sheet = musicSheetCache[sheetId];
            }
            else
            {
                MasterData.MusicMasterData master = MasterData.MusicMasterData.GetDebugSheet(sheetId);
                sheet = BMSLoader.Load(master);
                musicSheetCache.Add(sheetId, sheet);
            }

            currentSheet = sheet;
        }