OSDN Git Service

#24757 曲ソートで「昇順/降順」と表示する代わりに"1,2,3..."/"3,2,1"などと表示するよう変更。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 05.選曲 / CActSortSongs.cs
index dbe3a50..3cc0655 100644 (file)
@@ -1,6 +1,7 @@
 using System;\r
 using System.Collections.Generic;\r
 using System.Diagnostics;\r
+using System.Globalization;\r
 using System.Text;\r
 using System.Runtime.InteropServices;\r
 using System.Drawing;\r
@@ -33,6 +34,7 @@ namespace DTXMania
                        this.n現在の選択行 = 0;\r
                        nSortType = (int) ESortItem.Default;\r
                        nSortOrder = (int) ESortOrder.Descend;\r
+                       bIsJapanLocale = ( CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja" );       // #24758 2011.4.1 yyagi add; To check JP locale\r
                }\r
 \r
 \r
@@ -40,6 +42,8 @@ namespace DTXMania
                public void tActivateSortMenu( ref CActSelect曲リスト ca )\r
                {\r
                        this.act曲リスト = ca;\r
+                       nSortType = (int) ESortItem.Default;            // #24757 2011.4.1 yyagi: Clear sorting status in each stating menu.\r
+                       nSortOrder = (int) ESortOrder.Descend;          //\r
                        this.bIsActiveSortMenu = true;\r
                }\r
                public void tDeativateSortMenu()\r
@@ -62,7 +66,6 @@ namespace DTXMania
                                switch( this.n現在の選択行 )\r
                                {\r
                                        case (int) ESortItem.Title:\r
-//                                             this.act曲リスト.t曲リストのソート2_タイトル順( eInst, nSortOrder );\r
                                                this.act曲リスト.t曲リストのソート(\r
                                                        CDTXMania.Songs管理.t曲リストのソート2_タイトル順, eInst, nSortOrder\r
                                                );\r
@@ -161,6 +164,7 @@ namespace DTXMania
                        {\r
                                this.txCursor = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ), false );\r
                                this.txSortMenuBackground = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sort menu background.png" ), false );\r
+                               this.txSortMenuChoices = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenSelect sort menu choices.png" ), false );    // #24758 2011.4.1 yyagi; for JP locale, Japanese 昇順/降順 (ascend/descend) png parts.\r
                                base.OnManagedリソースの作成();\r
                        }\r
                }\r
@@ -168,6 +172,7 @@ namespace DTXMania
                {\r
                        if ( !base.b活性化してない )\r
                        {\r
+                               CDTXMania.tテクスチャの解放( ref this.txSortMenuChoices );\r
                                CDTXMania.tテクスチャの解放( ref this.txSortMenuBackground );\r
                                CDTXMania.tテクスチャの解放( ref this.txCursor );\r
                        }\r
@@ -209,7 +214,8 @@ namespace DTXMania
                                                eAction = ESortAction.Decide;\r
                                        }\r
                                        else if (\r
-                                               CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) \r
+                                               CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.Decide )        // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu.\r
+                                               || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.RD ) \r
                                                || CDTXMania.Pad.b押された( E楽器パート.DRUMS, Eパッド.LC )\r
                                                || ( CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.Return ) ) )\r
                                        {\r
@@ -266,25 +272,45 @@ namespace DTXMania
                                }\r
                                #endregion\r
                                #region [ ソート候補文字列描画 ]\r
-                               string[] strSortItem = {\r
-                                       "Title", "Level", "Best Rank", "PlayCount",\r
-                                       //"Author",\r
-                                       "SkillPoint",\r
-                                       //"BPM",\r
-                                       "Date",\r
-                                       "Return"\r
+                               //string[] strSortItem = {\r
+                               //    "Title", "Level", "Best Rank", "PlayCount",\r
+                               //    //"Author",\r
+                               //    "SkillPoint",\r
+                               //    //"BPM",\r
+                               //    "Date",\r
+                               //    "Return"\r
+                               //};\r
+                               //string[] strSortOrder = {\r
+                               //    "Descend", "", "Ascend"\r
+                               //};\r
+                               string[ , ] strSortItem = {\r
+                                       { "Title",              "Z,Y,X,...",    "A,B,C,..." },\r
+                                       { "Level",              "99,98,97,...", "1,2,3,..." },\r
+                                       { "Best Rank",  "E,D,C,...",    "SS,S,A,..." },\r
+                                       { "PlayCount",  "10,9,8,...",   "1,2,3,..." },\r
+                               //      { "Author",             "Z,Y,X,...",    "A,B,C,..." },\r
+                                       { "SkillPoint", "100,99,98,...","1,2,3,..." },\r
+                               //      { "BPM",                "300,200,...",  "70,80,90,..." },\r
+                                       { "Date",               "Dec.31,30,...","Jan.1,2,..." },\r
+                                       { "Return",             "",                             "" }\r
                                };\r
-                               string[] strSortOrder = {\r
-                                       "Descend", "", "Ascend"\r
-                               };\r
-                               for ( int i = 0; i < strSortItem.Length; i++ )\r
+\r
+                               for ( int i = 0; i < strSortItem.GetLength(0); i++ )\r
                                {\r
                                        bool bBold = ( i == nSortType ) ? true : false;\r
-                                       font.t文字列描画( 190, 80 + i * 32, strSortItem[ i ], bBold, 1.0f );\r
+                                       font.t文字列描画( 190, 80 + i * 32, strSortItem[ i, 0 ], bBold, 1.0f );\r
                                        if ( bBold )\r
                                        {\r
                                                // nSortOder+1 == 0(Ascend), (1,) 2(Descend)\r
-                                               font.t文字列描画( 350, 80 + i * 32, strSortOrder[ nSortOrder + 1 ], bBold, 1.0f );\r
+//                                             if ( bIsJapanLocale )\r
+//                                             {       // #24758 2011.4.1 yyagi: for JP locale, 昇順/降順 is used instead of ascend/descend.\r
+//                                                     Rectangle rect = new Rectangle( 0, this.txSortMenuChoices.sz画像サイズ.Height / 2 * (nSortOrder+1)/2, this.txSortMenuChoices.sz画像サイズ.Width, this.txSortMenuChoices.sz画像サイズ.Height / 2 );\r
+//                                                     this.txSortMenuChoices.t2D描画( CDTXMania.app.Device, 350, 78 + i * 32, rect );\r
+//                                             }\r
+//                                             else\r
+//                                             {\r
+                                                       font.t文字列描画( 340, 80 + i * 32, strSortItem[ i, (nSortOrder + 1)/2+1 ], bBold, 1.0f );\r
+//                                             }\r
                                        }\r
                                }\r
                                #endregion\r
@@ -303,9 +329,11 @@ namespace DTXMania
 \r
                private int n現在の選択行;\r
                private CTexture txSortMenuBackground;\r
+               private CTexture txSortMenuChoices;\r
                private CTexture txCursor;\r
                private CActDFPFont font;\r
                private CActSelect曲リスト act曲リスト;\r
+               private bool bIsJapanLocale;\r
 \r
                [StructLayout( LayoutKind.Sequential )]\r
                private struct STキー反復用カウンタ\r