/// <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); }
/// <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; }