OSDN Git Service

#xxxxx COptionList<>クラスで、Indexを外部から変更したときに、内部のvalが追従しなかった問題を修正。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 04.コンフィグ / CActConfigList.cs
index 05e7aab..7cd8b7d 100644 (file)
@@ -314,22 +314,22 @@ namespace DTXMania
                        else if (eMenu == Eメニュー種別.KeyAssignSystem)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.System);\r
-                               list項目リスト.Add(PadNotifier(EPad.Capture, cr.Title("strCfgKeyAssignCapture"), cr.Value("strCfgKeyAssignCapture") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.Capture, cr.Label("strCfgKeyAssignCapture"), cr.Explanation("strCfgKeyAssignCapture") ));\r
                        }\r
                        else if (eMenu == Eメニュー種別.KeyAssignDrums)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Drums);\r
-                               list項目リスト.Add(PadNotifier(EPad.LC, cr.Title("strCfgKeyAssignLC"), cr.Value("strCfgKeyAssignLC") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.HH, cr.Title("strCfgKeyAssignHH"), cr.Value("strCfgKeyAssignHH") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.HHO,cr.Title("strCfgKeyAssignHHO"), cr.Value("strCfgKeyAssignHHO") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.SD, cr.Title("strCfgKeyAssignSD"), cr.Value("strCfgKeyAssignSD") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BD, cr.Title("strCfgKeyAssignBD"), cr.Value("strCfgKeyAssignBD") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.HT, cr.Title("strCfgKeyAssignHT"), cr.Value("strCfgKeyAssignHT") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.LT, cr.Title("strCfgKeyAssignLT"), cr.Value("strCfgKeyAssignLT") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.FT, cr.Title("strCfgKeyAssignFT"), cr.Value("strCfgKeyAssignFT") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.CY, cr.Title("strCfgKeyAssignCY"), cr.Value("strCfgKeyAssignCY") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.RD, cr.Title("strCfgKeyAssignRD"), cr.Value("strCfgKeyAssignRD") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.HP, cr.Title("strCfgKeyAssignHP"), cr.Value("strCfgKeyAssignHP") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.LC, cr.Label("strCfgKeyAssignLC"), cr.Explanation("strCfgKeyAssignLC") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HH, cr.Label("strCfgKeyAssignHH"), cr.Explanation("strCfgKeyAssignHH") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HHO,cr.Label("strCfgKeyAssignHHO"), cr.Explanation("strCfgKeyAssignHHO") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.SD, cr.Label("strCfgKeyAssignSD"), cr.Explanation("strCfgKeyAssignSD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BD, cr.Label("strCfgKeyAssignBD"), cr.Explanation("strCfgKeyAssignBD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HT, cr.Label("strCfgKeyAssignHT"), cr.Explanation("strCfgKeyAssignHT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.LT, cr.Label("strCfgKeyAssignLT"), cr.Explanation("strCfgKeyAssignLT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.FT, cr.Label("strCfgKeyAssignFT"), cr.Explanation("strCfgKeyAssignFT") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.CY, cr.Label("strCfgKeyAssignCY"), cr.Explanation("strCfgKeyAssignCY") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.RD, cr.Label("strCfgKeyAssignRD"), cr.Explanation("strCfgKeyAssignRD") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.HP, cr.Label("strCfgKeyAssignHP"), cr.Explanation("strCfgKeyAssignHP") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eHHGroup);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eFTGroup);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eCYGroup);\r
@@ -340,36 +340,43 @@ namespace DTXMania
                        else if (eMenu == Eメニュー種別.KeyAssignGuitar)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Guitar);\r
-                               list項目リスト.Add(PadNotifier(EPad.GtR, cr.Title("strCfgKeyAssignGtR"), cr.Value("strCfgKeyAssignGtR") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtG, cr.Title("strCfgKeyAssignGtG"), cr.Value("strCfgKeyAssignGtG") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtB, cr.Title("strCfgKeyAssignGtB"), cr.Value("strCfgKeyAssignGtB") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtPick, cr.Title("strCfgKeyAssignGtPick"), cr.Value("strCfgKeyAssignGtPick") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtWail, cr.Title("strCfgKeyAssignGtWailing"), cr.Value("strCfgKeyAssignGtWailing") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtDecide, cr.Title("strCfgKeyAssignGtDecide"), cr.Value("strCfgKeyAssignGtDecide") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.GtCancel, cr.Title("strCfgKeyAssignGtCancel"), cr.Value("strCfgKeyAssignGtCancel") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtR, cr.Label("strCfgKeyAssignGtR"), cr.Explanation("strCfgKeyAssignGtR") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtG, cr.Label("strCfgKeyAssignGtG"), cr.Explanation("strCfgKeyAssignGtG") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtB, cr.Label("strCfgKeyAssignGtB"), cr.Explanation("strCfgKeyAssignGtB") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtPick, cr.Label("strCfgKeyAssignGtPick"), cr.Explanation("strCfgKeyAssignGtPick") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtWail, cr.Label("strCfgKeyAssignGtWailing"), cr.Explanation("strCfgKeyAssignGtWailing") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtDecide, cr.Label("strCfgKeyAssignGtDecide"), cr.Explanation("strCfgKeyAssignGtDecide") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.GtCancel, cr.Label("strCfgKeyAssignGtCancel"), cr.Explanation("strCfgKeyAssignGtCancel") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Guitar);\r
                        }\r
                        else if (eMenu == Eメニュー種別.KeyAssignBass)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.Bass);\r
-                               list項目リスト.Add(PadNotifier(EPad.BsR, cr.Title("strCfgKeyAssignBsR"), cr.Value("strCfgKeyAssignBsR") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsG, cr.Title("strCfgKeyAssignBsG"), cr.Value("strCfgKeyAssignBsG") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsB, cr.Title("strCfgKeyAssignBsB"), cr.Value("strCfgKeyAssignBsB") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsPick, cr.Title("strCfgKeyAssignBsPick"), cr.Value("strCfgKeyAssignBsPick") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsWail, cr.Title("strCfgKeyAssignBsWailing"), cr.Value("strCfgKeyAssignBsWailing") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsDecide, cr.Title("strCfgKeyAssignBsDecide"), cr.Value("strCfgKeyAssignBsDecide") ));\r
-                               list項目リスト.Add(PadNotifier(EPad.BsCancel, cr.Title("strCfgKeyAssignBsCancel"), cr.Value("strCfgKeyAssignBsCancel") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsR, cr.Label("strCfgKeyAssignBsR"), cr.Explanation("strCfgKeyAssignBsR") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsG, cr.Label("strCfgKeyAssignBsG"), cr.Explanation("strCfgKeyAssignBsG") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsB, cr.Label("strCfgKeyAssignBsB"), cr.Explanation("strCfgKeyAssignBsB") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsPick, cr.Label("strCfgKeyAssignBsPick"), cr.Explanation("strCfgKeyAssignBsPick") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsWail, cr.Label("strCfgKeyAssignBsWailing"), cr.Explanation("strCfgKeyAssignBsWailing") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsDecide, cr.Label("strCfgKeyAssignBsDecide"), cr.Explanation("strCfgKeyAssignBsDecide") ));\r
+                               list項目リスト.Add(PadNotifier(EPad.BsCancel, cr.Label("strCfgKeyAssignBsCancel"), cr.Explanation("strCfgKeyAssignBsCancel") ));\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nInputAdjustTimeMs.Bass);\r
                        }\r
                        else if (eMenu == Eメニュー種別.System)\r
                        {\r
                                list項目リスト.Add(ReturnToMenu.System);\r
-                               COptionStringList lang = new COptionStringList("default");\r
-                               lang.Initialize(cr.Title("strCfgLanguage"), cr.Value("strCfgLanguage"), cr.LanguageList );\r
-                               list項目リスト.Add( lang );\r
-\r
+                               COptionStringList langlist = new COptionStringList("default");\r
+                               langlist.Initialize(cr.Label("strCfgLanguage"), cr.Explanation("strCfgLanguage"), cr.LanguageList );\r
+                               langlist.Index = CDTXMania.Instance.Resources.LanguageCodeIndex;\r
+                               langlist.OnEnterDelegate = () =>\r
+                               {\r
+                                       int index = langlist.Index;\r
+                                       CDTXMania.Instance.ConfigIni.strLanguage.Value = CDTXMania.Instance.Resources.Language = CDTXMania.Instance.Resources.LanguageCodeList[ index ];\r
+                                        \r
+                               }; \r
+                               list項目リスト.Add( langlist );\r
+                       \r
                                COptionString enumsongs = new COptionString("");\r
-                               enumsongs.Initialize( cr.Title("strCfgSysEnumSongs"), cr.Value("strCfgSysEnumSongs") );\r
+                               enumsongs.Initialize( cr.Label("strCfgSysEnumSongs"), cr.Explanation("strCfgSysEnumSongs") );\r
                                list項目リスト.Add(enumsongs);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.eDark);\r
                                list項目リスト.Add(CDTXMania.Instance.ConfigIni.nRisky);\r
@@ -422,7 +429,7 @@ namespace DTXMania
                        {\r
                                list項目リスト.Add(ReturnToMenu.Drums);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
+                               AllAuto.Initialize( cr.Label("strCfgDrAllAuto"), cr.Explanation("strCfgDrAllAuto"), typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
                                        CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Drums, AllAuto);\r
@@ -453,7 +460,7 @@ namespace DTXMania
                        {\r
                                list項目リスト.Add(ReturnToMenu.Guitar);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
+                               AllAuto.Initialize( cr.Label("strCfgDrAllAuto"), cr.Explanation("strCfgDrAllAuto"), typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
                                        CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Guitar, AllAuto);\r
@@ -475,7 +482,7 @@ namespace DTXMania
                        {\r
                                list項目リスト.Add(ReturnToMenu.Bass);\r
                                COptionEnum<EThreeState> AllAuto = new COptionEnum<EThreeState>(EThreeState.X);\r
-                               AllAuto.Initialize( cr.Title("strCfgDrAllAuto"), cr.Value("strCfgDrAllAuto"), typeof(EThreeState));\r
+                               AllAuto.Initialize( cr.Label("strCfgDrAllAuto"), cr.Explanation("strCfgDrAllAuto"), typeof(EThreeState));\r
                                AllAuto.OnEnterDelegate = () =>\r
                                {\r
                                        CDTXMania.Instance.ConfigIni.bAutoPlay.Set(EPart.Bass, AllAuto);\r
@@ -555,9 +562,9 @@ namespace DTXMania
                                CResources cr = CDTXMania.Instance.Resources;\r
                                for (EPart i = EPart.Drums; i <= EPart.System; ++i)\r
                                {\r
-                                       DisplayMenu[i] = new COptionLabel( cr.Title("strCfgDisplayOption"), cr.Value("strCfgDisplayOption") );\r
-                                       KeyAssignMenu[i] = new COptionLabel( cr.Title("strCfgInputOption"), cr.Value("strCfgInputOption") );\r
-                                       ReturnToMenu[i] = new COptionLabel( cr.Title("strCfgReturnToMenu"), cr.Value("strCfgReturnToMenu") );\r
+                                       DisplayMenu[i] = new COptionLabel( cr.Label("strCfgDisplayOption"), cr.Explanation("strCfgDisplayOption") );\r
+                                       KeyAssignMenu[i] = new COptionLabel( cr.Label("strCfgInputOption"), cr.Explanation("strCfgInputOption") );\r
+                                       ReturnToMenu[i] = new COptionLabel( cr.Label("strCfgReturnToMenu"), cr.Explanation("strCfgReturnToMenu") );\r
                                }\r
 \r
                                DisplayMenu.Drums.OnEnterDelegate = () =>\r