+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Diagnostics;\r
-using System.Runtime.InteropServices;\r
-using System.IO;\r
-using System.Drawing;\r
-using System.Threading;\r
-using System.Globalization;\r
-using System.Runtime.Serialization.Formatters.Binary;\r
-using SharpDX;\r
-using SharpDX.Direct3D9;\r
-using FDK;\r
-using SampleFramework;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CActEnumSongs : CActivity\r
- {\r
- public bool bコマンドでの曲データ取得;\r
-\r
-\r
- /// <summary>\r
- /// Constructor\r
- /// </summary>\r
- public CActEnumSongs()\r
- {\r
- Init(false);\r
- }\r
-\r
- public CActEnumSongs(bool _bコマンドでの曲データ取得)\r
- {\r
- Init(_bコマンドでの曲データ取得);\r
- }\r
- private void Init(bool _bコマンドでの曲データ取得)\r
- {\r
- base.b活性化してない = true;\r
- bコマンドでの曲データ取得 = _bコマンドでの曲データ取得;\r
- }\r
-\r
- // CActivity 実装\r
-\r
- public override void On活性化()\r
- {\r
- if (this.b活性化してる)\r
- return;\r
- base.On活性化();\r
-\r
- try\r
- {\r
- this.ctNowEnumeratingSongs = new CCounter(); // 0, 1000, 17, CDTXMania.Instance.Timer );\r
- this.ctNowEnumeratingSongs.t開始(0, 100, 17, CDTXMania.Instance.Timer);\r
- }\r
- finally\r
- {\r
- }\r
- }\r
- public override void On非活性化()\r
- {\r
- if (this.b活性化してない)\r
- return;\r
- base.On非活性化();\r
- this.ctNowEnumeratingSongs = null;\r
- }\r
- public override void OnManagedリソースの作成()\r
- {\r
- if (this.b活性化してない)\r
- return;\r
- string pathNowEnumeratingSongs = CSkin.Path(@"Graphics\ScreenTitle NowEnumeratingSongs.png");\r
- if (File.Exists(pathNowEnumeratingSongs))\r
- {\r
- this.txNowEnumeratingSongs = TextureFactory.tテクスチャの生成(pathNowEnumeratingSongs, false);\r
- }\r
- else\r
- {\r
- this.txNowEnumeratingSongs = null;\r
- }\r
- string pathDialogNowEnumeratingSongs = CSkin.Path(@"Graphics\ScreenConfig NowEnumeratingSongs.png");\r
- if (File.Exists(pathDialogNowEnumeratingSongs))\r
- {\r
- this.txDialogNowEnumeratingSongs = TextureFactory.tテクスチャの生成(pathDialogNowEnumeratingSongs, false);\r
- }\r
- else\r
- {\r
- this.txDialogNowEnumeratingSongs = null;\r
- }\r
- try\r
- {\r
- System.Drawing.Font ftMessage = new System.Drawing.Font( @"MS PGothic", 40.0f, FontStyle.Bold, GraphicsUnit.Pixel );\r
- string strMessage = CDTXMania.Instance.Resources.Explanation("strEnumeratingSongs");\r
- if ( ( strMessage != null ) && ( strMessage.Length > 0 ) )\r
- {\r
- Bitmap image = new Bitmap(1, 1);\r
- Graphics graphics = Graphics.FromImage(image);\r
- SizeF ef = graphics.MeasureString(strMessage, ftMessage);\r
- Size size = new Size( (int) Math.Ceiling( (double) ef.Width ), (int) Math.Ceiling( (double) ef.Height ) );\r
- graphics.Dispose();\r
- image.Dispose();\r
- image = new Bitmap(size.Width, size.Height);\r
- graphics = Graphics.FromImage(image);\r
- graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;\r
- graphics.DrawString(strMessage, ftMessage, Brushes.White, (float) 0f, (float) 0f);\r
- graphics.Dispose();\r
- this.txMessage = new CTexture(CDTXMania.Instance.Device, image, CDTXMania.Instance.TextureFormat);\r
- image.Dispose();\r
- TextureFactory.t安全にDisposeする(ref ftMessage);\r
- }\r
- else\r
- {\r
- this.txMessage = null;\r
- }\r
- }\r
- catch (CTextureCreateFailedException)\r
- {\r
- Trace.TraceError("テクスチャの生成に失敗しました。(txMessage)");\r
- this.txMessage = null;\r
- }\r
-\r
- base.OnManagedリソースの作成();\r
- }\r
- public override void OnManagedリソースの解放()\r
- {\r
- if (this.b活性化してない)\r
- return;\r
-\r
- TextureFactory.t安全にDisposeする(ref this.txDialogNowEnumeratingSongs);\r
- TextureFactory.t安全にDisposeする(ref this.txNowEnumeratingSongs);\r
- TextureFactory.t安全にDisposeする(ref this.txMessage);\r
- base.OnManagedリソースの解放();\r
- }\r
-\r
- public override int On進行描画()\r
- {\r
- if (this.b活性化してない)\r
- {\r
- return 0;\r
- }\r
- this.ctNowEnumeratingSongs.t進行Loop();\r
- if (this.txNowEnumeratingSongs != null)\r
- {\r
- this.txNowEnumeratingSongs.n透明度 = (int)(176.0 + 80.0 * Math.Sin((double)(2 * Math.PI * this.ctNowEnumeratingSongs.n現在の値 * 2 / 100.0)));\r
- this.txNowEnumeratingSongs.t2D描画(CDTXMania.Instance.Device, 18, 7);\r
- }\r
- if (bコマンドでの曲データ取得 && this.txDialogNowEnumeratingSongs != null)\r
- {\r
- this.txDialogNowEnumeratingSongs.t2D描画(CDTXMania.Instance.Device, 500, 300);\r
- this.txMessage.t2D描画(CDTXMania.Instance.Device, 540, 320);\r
- }\r
-\r
- return 0;\r
- }\r
-\r
-\r
- private CCounter ctNowEnumeratingSongs;\r
- private CTexture txNowEnumeratingSongs = null;\r
- private CTexture txDialogNowEnumeratingSongs = null;\r
- private CTexture txMessage;\r
- }\r
-}\r