+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Drawing;\r
-using FDK;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CAct演奏WailingBonus共通 : CActivity\r
- {\r
- public CAct演奏WailingBonus共通()\r
- {\r
- for (int i = 0; i < 3; ++i)\r
- {\r
- for (int j = 0; j < 4; ++j)\r
- {\r
- ct進行用[i, j] = null;\r
- }\r
- }\r
- base.b活性化してない = true;\r
- }\r
-\r
- public void Start(EPart part, CChip r歓声Chip = null)\r
- {\r
- for (int i = 0; i < 4; i++)\r
- {\r
- if ((this.ct進行用[(int)part, i] == null) || this.ct進行用[(int)part, i].b停止中)\r
- {\r
- this.ct進行用[(int)part, i] = new CCounter(0, 300, 2, CDTXMania.Instance.Timer);\r
- if (CDTXMania.Instance.ConfigIni.bAudience)\r
- {\r
- if (r歓声Chip != null)\r
- {\r
- CDTXMania.Instance.DTX.tチップの再生(r歓声Chip, CSound管理.rc演奏用タイマ.nシステム時刻, CDTXMania.Instance.DTX.nモニタを考慮した音量(EPart.Unknown));\r
- return;\r
- }\r
- CDTXMania.Instance.Skin.sound歓声音.n位置_次に鳴るサウンド = (part == EPart.Guitar) ? -50 : 50;\r
- CDTXMania.Instance.Skin.sound歓声音.t再生する();\r
- return;\r
- }\r
- break;\r
- }\r
- }\r
- }\r
-\r
- public override void On活性化()\r
- {\r
- base.On活性化();\r
- }\r
-\r
- public override void On非活性化()\r
- {\r
- for (int i = 0; i < 3; i++)\r
- {\r
- for (int j = 0; j < 4; j++)\r
- {\r
- this.ct進行用[i, j] = null;\r
- }\r
- }\r
- base.On非活性化();\r
- }\r
-\r
- public override void OnManagedリソースの作成()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- this.txWailingBonus = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenPlay wailing bonus.png"), false);\r
- base.OnManagedリソースの作成();\r
- }\r
- }\r
- public override void OnManagedリソースの解放()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- TextureFactory.tテクスチャの解放(ref this.txWailingBonus);\r
- base.OnManagedリソースの解放();\r
- }\r
- }\r
-\r
- public override int On進行描画()\r
- {\r
- if (b活性化してる)\r
- {\r
- for (int i = 0; i < 2; i++)\r
- {\r
- EPart inst = (i == 0) ? EPart.Guitar : EPart.Bass;\r
- if (CDTXMania.Instance.ConfigIni.b楽器有効(inst) && CDTXMania.Instance.DTX.bチップがある[inst] )\r
- {\r
- for (int k = 0; k < 4; k++)\r
- {\r
- if ((this.ct進行用[(int)inst, k] != null) && !this.ct進行用[(int)inst, k].b停止中)\r
- {\r
- if (this.ct進行用[(int)inst, k].b終了値に達した)\r
- {\r
- this.ct進行用[(int)inst, k].t停止();\r
- }\r
- else\r
- {\r
- this.ct進行用[(int)inst, k].t進行();\r
- }\r
- }\r
-\r
- if ((this.ct進行用[(int)inst, k] != null) && !this.ct進行用[(int)inst, k].b停止中)\r
- {\r
- Rectangle rc = CDTXMania.Instance.Coordinates.ImgGtWailingBonus;\r
-\r
- int x = (inst == EPart.Guitar) ?\r
- CDTXMania.Instance.ConfigIni.GetLaneX(ELane.GtW) + (CDTXMania.Instance.ConfigIni.GetLaneW(ELane.GtW) - rc.Width) / 2 :\r
- CDTXMania.Instance.ConfigIni.GetLaneX(ELane.BsW) + (CDTXMania.Instance.ConfigIni.GetLaneW(ELane.BsW) - rc.Width) / 2;\r
-\r
- int y = 0;\r
- int ct = this.ct進行用[(int)inst, k].n現在の値;\r
-\r
- int yj = C演奏判定ライン座標共通.n判定ラインY座標(inst, false, true, C演奏判定ライン座標共通.Reverse.NotReverse);\r
-\r
- if (ct < 100)\r
- {\r
- y = (int)(yj + (rc.Height * Math.Cos(Math.PI / 2 * (((double)ct) / 100.0))));\r
- }\r
- else if (ct < 150)\r
- {\r
- y = (int)(yj + ((150 - ct) * Math.Sin((Math.PI * ((ct - 100) % 25)) / 25.0)));\r
- }\r
- else if (ct < 200)\r
- {\r
- y = yj;\r
- }\r
- else\r
- {\r
- y = (int)(yj - (((double)(rc.Height * (ct - 200))) / 100.0));\r
- }\r
-\r
- if (CDTXMania.Instance.ConfigIni.bReverse[inst])\r
- {\r
- y = SampleFramework.GameWindowSize.Height - y - rc.Height;\r
- }\r
-\r
- if (this.txWailingBonus != null)\r
- {\r
- this.txWailingBonus.t2D描画(CDTXMania.Instance.Device, x, y, rc);\r
- }\r
- }\r
-\r
- }\r
- }\r
- }\r
- }\r
- return 0;\r
- }\r
-\r
- protected CCounter[,] ct進行用 = new CCounter[3, 4];\r
- protected CTextureAf txWailingBonus;\r
- }\r
-}\r