OSDN Git Service

#37177 キーアサインでPOVを登録すると、同じ方向のHATが消える問題を修正。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / ステージ / 10.ChangeSkin / CStageChangeSkin.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Diagnostics;\r
5 using System.Threading;\r
6 using System.IO;\r
7 using FDK;\r
8 using System.Runtime.Serialization.Formatters.Binary;\r
9 \r
10 \r
11 namespace DTXMania\r
12 {\r
13         /// <summary>\r
14         /// box.defによるスキン変更時に一時的に遷移する、スキン画像の一切無いステージ。\r
15         /// </summary>\r
16         internal class CStageChangeSkin : CStage\r
17         {\r
18                 public CStageChangeSkin()\r
19                 {\r
20                         base.eステージID = CStage.Eステージ.ChangeSkin;\r
21                         base.b活性化してない = true;\r
22                 }\r
23 \r
24                 public override void On活性化()\r
25                 {\r
26                         if (b活性化してない)\r
27                         {\r
28                                 Trace.TraceInformation("スキン変更ステージを活性化します。");\r
29                                 Trace.Indent();\r
30                                 try\r
31                                 {\r
32                                         base.On活性化();\r
33                                         Trace.TraceInformation("スキン変更ステージの活性化を完了しました。");\r
34                                 }\r
35                                 finally\r
36                                 {\r
37                                         Trace.Unindent();\r
38                                 }\r
39                         }\r
40                 }\r
41 \r
42                 public override void On非活性化()\r
43                 {\r
44                         if (b活性化してる)\r
45                         {\r
46                                 Trace.TraceInformation("スキン変更ステージを非活性化します。");\r
47                                 Trace.Indent();\r
48                                 try\r
49                                 {\r
50                                         base.On非活性化();\r
51                                         Trace.TraceInformation("スキン変更ステージの非活性化を完了しました。");\r
52                                 }\r
53                                 finally\r
54                                 {\r
55                                         Trace.Unindent();\r
56                                 }\r
57                         }\r
58                 }\r
59 \r
60                 public override int On進行描画()\r
61                 {\r
62                         if (base.b活性化してる)\r
63                         {\r
64                                 if (base.b初めての進行描画)\r
65                                 {\r
66                                         base.b初めての進行描画 = false;\r
67                                         return 0;\r
68                                 }\r
69 \r
70                                 //スキン変更処理\r
71                                 tChangeSkinMain();\r
72                                 return 1;\r
73                         }\r
74                         return 0;\r
75                 }\r
76 \r
77                 public void tChangeSkinMain()\r
78                 {\r
79                         Trace.TraceInformation("スキン変更:" + CDTXMania.Instance.Skin.GetCurrentSkinSubfolderFullName(false));\r
80 \r
81                         CDTXMania.Instance.act文字コンソール.On非活性化();\r
82 \r
83                         CDTXMania.Instance.Skin.PrepareReloadSkin();\r
84                         CDTXMania.Instance.Skin.ReloadSkin();\r
85 \r
86                         CDTXMania.Instance.act文字コンソール.On活性化();\r
87                 }\r
88         }\r
89 }\r