2 using System.Collections.Generic;
\r
4 using System.Drawing;
\r
10 internal class CAct演奏Danger共通 : CActivity
\r
12 private CTextureAf txDANGER;
\r
13 private bool bDanger中;
\r
14 // = { false, false, false };
\r
15 private CCounter ct移動用;
\r
16 private CCounter ct透明度用;
\r
17 private const int n波長 = 40;
\r
18 private const int n透明度MAX = 180;
\r
19 private const int n透明度MIN = 20;
\r
21 public override void On活性化()
\r
32 public override void On非活性化()
\r
42 public override void OnManagedリソースの作成()
\r
46 this.txDANGER = TextureFactory.tテクスチャの生成Af(CSkin.Path(@"Graphics\ScreenPlayDrums danger.png"), false);
\r
47 base.OnManagedリソースの作成();
\r
51 public override void OnManagedリソースの解放()
\r
55 TextureFactory.tテクスチャの解放(ref this.txDANGER);
\r
56 base.OnManagedリソースの解放();
\r
63 /// <param name="bIsDangerDrums">DrumsがDangerならtrue</param>
\r
64 /// <param name="bIsDamgerGuitar">GuitarがDangerならtrue</param>
\r
65 /// <param name="bIsDangerBass">BassがDangerならtrue</param>
\r
66 /// <returns></returns>
\r
67 public int t進行描画(bool isDanger)
\r
78 this.ct移動用 = new CCounter(0, 0x7f, 7, CDTXMania.Instance.Timer);
\r
79 this.ct透明度用 = new CCounter(0, 0x167, 4, CDTXMania.Instance.Timer);
\r
81 bDanger中 = isDanger;
\r
82 this.ct移動用.t進行Loop();
\r
83 this.ct透明度用.t進行Loop();
\r
88 int num = this.ct透明度用.n現在の値;
\r
89 if (this.txDANGER != null)
\r
91 this.txDANGER.n透明度 = 60 + ((num < 180) ? num : (360 - num));
\r
93 num = this.ct移動用.n現在の値;
\r
94 int num2 = CDTXMania.Instance.ConfigIni.bReverse.Drums ? (0x7f - num) : num;
\r
95 for (int i = -1; i < 4; i++)
\r
97 if (this.txDANGER != null)
\r
99 //float d = (CDTXMania.Instance.ConfigIni.eドラムレーン表示位置 == Eドラムレーン表示位置.Left) ? 1.0f : 0.75f;
\r
100 //this.txDANGER.vc拡大縮小倍率 = new Vector3(d, d, d);
\r
101 int y = (int)(((i * 0x80) + num2) * Scale.Y);
\r
102 this.txDANGER.t2D描画(CDTXMania.Instance.Device,
\r
103 CDTXMania.Instance.Coordinates.Danger.Min, y);
\r
104 this.txDANGER.t2D描画(CDTXMania.Instance.Device,
\r
105 CDTXMania.Instance.Coordinates.Danger.Max, y);
\r