+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-using System.Runtime.Serialization.Formatters.Binary;\r
-\r
-namespace DTXMania\r
-{\r
- [Serializable]\r
- internal class Cスコア\r
- {\r
- // プロパティ\r
-\r
- public STScoreIni情報 ScoreIni情報;\r
- [Serializable]\r
- [StructLayout(LayoutKind.Sequential)]\r
- public struct STScoreIni情報\r
- {\r
- public DateTime 最終更新日時;\r
- public long ファイルサイズ;\r
-\r
- public STScoreIni情報(DateTime 最終更新日時, long ファイルサイズ)\r
- {\r
- this.最終更新日時 = 最終更新日時;\r
- this.ファイルサイズ = ファイルサイズ;\r
- }\r
- }\r
-\r
- public STファイル情報 ファイル情報;\r
- [Serializable]\r
- [StructLayout(LayoutKind.Sequential)]\r
- public struct STファイル情報\r
- {\r
- public string ファイルの絶対パス;\r
- public string フォルダの絶対パス;\r
- public DateTime 最終更新日時;\r
- public long ファイルサイズ;\r
-\r
- public STファイル情報(string ファイルの絶対パス, string フォルダの絶対パス, DateTime 最終更新日時, long ファイルサイズ)\r
- {\r
- this.ファイルの絶対パス = ファイルの絶対パス;\r
- this.フォルダの絶対パス = フォルダの絶対パス;\r
- this.最終更新日時 = 最終更新日時;\r
- this.ファイルサイズ = ファイルサイズ;\r
- }\r
- }\r
-\r
- public ST譜面情報 譜面情報;\r
- [Serializable]\r
- [StructLayout(LayoutKind.Sequential)]\r
- public struct ST譜面情報\r
- {\r
- public string タイトル;\r
- public string アーティスト名;\r
- public string コメント;\r
- public string ジャンル;\r
- public string Preimage;\r
- public string Premovie;\r
- public string Presound;\r
- public string Backgound;\r
- public STDGBSValue<int> レベル;\r
- public STDGBSValue<CScoreIni.ERANK> 最大ランク;\r
- public STDGBSValue<double> 最大スキル;\r
- public STDGBSValue<bool> フルコンボ;\r
- public STDGBSValue<int> 演奏回数;\r
- public STDGBSValue<EUseLanes> 使用レーン数;\r
- public STHISTORY 演奏履歴;\r
- public bool レベルを非表示にする;\r
- public EDTX種別 曲種別;\r
- public double Bpm;\r
- public int Duration;\r
-\r
- [Serializable]\r
- [StructLayout(LayoutKind.Sequential)]\r
- public struct STHISTORY\r
- {\r
- public string 行1;\r
- public string 行2;\r
- public string 行3;\r
- public string 行4;\r
- public string 行5;\r
- public string this[int index]\r
- {\r
- get\r
- {\r
- switch (index)\r
- {\r
- case 0:\r
- return this.行1;\r
-\r
- case 1:\r
- return this.行2;\r
-\r
- case 2:\r
- return this.行3;\r
-\r
- case 3:\r
- return this.行4;\r
-\r
- case 4:\r
- return this.行5;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- set\r
- {\r
- switch (index)\r
- {\r
- case 0:\r
- this.行1 = value;\r
- return;\r
-\r
- case 1:\r
- this.行2 = value;\r
- return;\r
-\r
- case 2:\r
- this.行3 = value;\r
- return;\r
-\r
- case 3:\r
- this.行4 = value;\r
- return;\r
-\r
- case 4:\r
- this.行5 = value;\r
- return;\r
- }\r
- throw new IndexOutOfRangeException();\r
- }\r
- }\r
- }\r
- }\r
-\r
- public bool bSongDBにキャッシュがあった;\r
- public bool bスコアが有効である\r
- {\r
- get\r
- {\r
- return\r
- this.譜面情報.レベル.Drums +\r
- this.譜面情報.レベル.Guitar +\r
- this.譜面情報.レベル.Bass != 0;\r
- }\r
- }\r
-\r
-\r
- // コンストラクタ\r
-\r
- public Cスコア()\r
- {\r
- this.ScoreIni情報 = new STScoreIni情報(DateTime.MinValue, 0L);\r
- this.bSongDBにキャッシュがあった = false;\r
- this.ファイル情報 = new STファイル情報("", "", DateTime.MinValue, 0L);\r
- this.譜面情報 = new ST譜面情報();\r
- this.譜面情報.タイトル = "";\r
- this.譜面情報.アーティスト名 = "";\r
- this.譜面情報.コメント = "";\r
- this.譜面情報.ジャンル = "";\r
- this.譜面情報.Preimage = "";\r
- this.譜面情報.Premovie = "";\r
- this.譜面情報.Presound = "";\r
- this.譜面情報.Backgound = "";\r
- this.譜面情報.レベル = new STDGBSValue<int>();\r
- this.譜面情報.最大ランク = new STDGBSValue<CScoreIni.ERANK>();\r
- this.譜面情報.最大ランク.Drums = CScoreIni.ERANK.UNKNOWN;\r
- this.譜面情報.最大ランク.Guitar = CScoreIni.ERANK.UNKNOWN;\r
- this.譜面情報.最大ランク.Bass = CScoreIni.ERANK.UNKNOWN;\r
- this.譜面情報.フルコンボ = new STDGBSValue<bool>();\r
- this.譜面情報.演奏回数 = new STDGBSValue<int>();\r
- this.譜面情報.演奏履歴 = new ST譜面情報.STHISTORY();\r
- this.譜面情報.演奏履歴.行1 = "";\r
- this.譜面情報.演奏履歴.行2 = "";\r
- this.譜面情報.演奏履歴.行3 = "";\r
- this.譜面情報.演奏履歴.行4 = "";\r
- this.譜面情報.演奏履歴.行5 = "";\r
- this.譜面情報.レベルを非表示にする = false;\r
- this.譜面情報.最大スキル = new STDGBSValue<double>();\r
- this.譜面情報.曲種別 = EDTX種別.DTX;\r
- this.譜面情報.Bpm = 120.0;\r
- this.譜面情報.Duration = 0;\r
- this.譜面情報.使用レーン数 = new STDGBSValue<EUseLanes>();\r
- }\r
- }\r
-}\r