+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.IO;\r
-using System.Drawing;\r
-\r
-namespace DTXMania\r
-{\r
- public class CBoxDef\r
- {\r
- // プロパティ\r
-\r
- public string Artist;\r
- public Color Color;\r
- public string Comment;\r
- public string Genre;\r
- public int GoodRange;\r
- public int GreatRange;\r
- public int PerfectRange;\r
- public int PoorRange;\r
- public string Preimage;\r
- public string Premovie;\r
- public string Presound;\r
- public string Title;\r
- public string SkinPath; // ""ならユーザー指定スキン、さもなくばbox.def指定スキン。\r
-\r
- // コンストラクタ\r
-\r
- public CBoxDef()\r
- {\r
- this.Title = "";\r
- this.Artist = "";\r
- this.Comment = "BOX に移動します。";\r
- this.Genre = "";\r
- this.Preimage = "";\r
- this.Premovie = "";\r
- this.Presound = "";\r
- this.Color = ColorTranslator.FromHtml("White");\r
- this.PerfectRange = -1;\r
- this.GreatRange = -1;\r
- this.GoodRange = -1;\r
- this.PoorRange = -1;\r
- this.SkinPath = "";\r
- }\r
- public CBoxDef(string boxdefファイル名)\r
- : this()\r
- {\r
- this.t読み込み(boxdefファイル名);\r
- }\r
-\r
-\r
- // メソッド\r
-\r
- public void t読み込み(string boxdefファイル名)\r
- {\r
- StreamReader reader = new StreamReader(boxdefファイル名, Encoding.GetEncoding("Shift_JIS"));\r
- string str = null;\r
- while ((str = reader.ReadLine()) != null)\r
- {\r
- if (str.Length != 0)\r
- {\r
- try\r
- {\r
- char[] ignoreCharsWoColon = new char[] { ' ', '\t' };\r
-\r
- str = str.TrimStart(ignoreCharsWoColon);\r
- if ((str[0] == '#') && (str[0] != ';'))\r
- {\r
- if (str.IndexOf(';') != -1)\r
- {\r
- str = str.Substring(0, str.IndexOf(';'));\r
- }\r
-\r
- char[] ignoreChars = new char[] { ':', ' ', '\t' };\r
-\r
- if (str.StartsWith("#TITLE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Title = str.Substring(6).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#ARTIST", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Artist = str.Substring(7).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#COMMENT", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Comment = str.Substring(8).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#GENRE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Genre = str.Substring(6).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#PREVIEW", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Presound = str.Substring(8).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#PREIMAGE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Preimage = str.Substring(9).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#PREMOVIE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Premovie = str.Substring(9).Trim(ignoreChars);\r
- }\r
- else if (str.StartsWith("#SKINPATH100", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.SkinPath = str.Substring(12).Trim(ignoreChars);\r
-\r
- }\r
- else if (str.StartsWith("#FONTCOLOR", StringComparison.OrdinalIgnoreCase))\r
- {\r
- this.Color = ColorTranslator.FromHtml(str.Substring(10).Trim(ignoreChars));\r
- }\r
- else if (str.StartsWith("#PERFECTRANGE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- int range = 0;\r
- if (int.TryParse(str.Substring(13).Trim(ignoreChars), out range) && (range >= 0))\r
- {\r
- this.PerfectRange = range;\r
- }\r
- }\r
- else if (str.StartsWith("#GREATRANGE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- int range = 0;\r
- if (int.TryParse(str.Substring(11).Trim(ignoreChars), out range) && (range >= 0))\r
- {\r
- this.GreatRange = range;\r
- }\r
- }\r
- else if (str.StartsWith("#GOODRANGE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- int range = 0;\r
- if (int.TryParse(str.Substring(10).Trim(ignoreChars), out range) && (range >= 0))\r
- {\r
- this.GoodRange = range;\r
- }\r
- }\r
- else if (str.StartsWith("#POORRANGE", StringComparison.OrdinalIgnoreCase))\r
- {\r
- int range = 0;\r
- if (int.TryParse(str.Substring(10).Trim(ignoreChars), out range) && (range >= 0))\r
- {\r
- this.PoorRange = range;\r
- }\r
- }\r
- }\r
- continue;\r
- }\r
- catch\r
- {\r
- continue;\r
- }\r
- }\r
- }\r
- reader.Close();\r
- }\r
- }\r
-}\r