2 using System.Collections.Generic;
\r
4 using System.Drawing;
\r
9 internal class CAct演奏DrumsDanger : CAct演奏Danger共通
\r
13 //public CAct演奏DrumsDanger()
\r
15 // base.b活性化してない = true;
\r
21 //public override void On活性化()
\r
23 // this.bDanger中 = false;
\r
24 // this.ct移動用 = new CCounter();
\r
25 // this.ct透明度用 = new CCounter();
\r
28 //public override void On非活性化()
\r
30 // this.ct移動用 = null;
\r
31 // this.ct透明度用 = null;
\r
34 public override void OnManagedリソースの作成()
\r
36 if( !base.b活性化してない )
\r
38 this.txDANGER = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenPlayDrums danger.png" ) );
\r
39 base.OnManagedリソースの作成();
\r
42 public override void OnManagedリソースの解放()
\r
44 if( !base.b活性化してない )
\r
46 CDTXMania.tテクスチャの解放( ref this.txDANGER );
\r
47 base.OnManagedリソースの解放();
\r
50 public override int On進行描画()
\r
52 throw new InvalidOperationException( "t進行描画(bool)のほうを使用してください。" );
\r
57 /// <param name="bIsDangerDrums">DrumsのゲージがDangerかどうか(Guitar/Bassと共用のゲージ)</param>
\r
58 /// <param name="bIsDangerGuitar">Guitarのゲージ(未使用)</param>
\r
59 /// <param name="bIsDangerBass">Bassのゲージ(未使用)</param>
\r
60 /// <returns></returns>
\r
61 public override int t進行描画( bool bIsDangerDrums, bool bIsDangerGuitar, bool bIsDangerBass )
\r
63 if( !base.b活性化してない )
\r
65 if( !bIsDangerDrums )
\r
67 this.bDanger中[(int)E楽器パート.DRUMS] = false;
\r
70 if( !this.bDanger中[(int)E楽器パート.DRUMS] )
\r
72 this.ct移動用 = new CCounter( 0, 0x7f, 7, CDTXMania.Timer );
\r
73 this.ct透明度用 = new CCounter( 0, 0x167, 4, CDTXMania.Timer );
\r
75 this.bDanger中[(int)E楽器パート.DRUMS] = bIsDangerDrums;
\r
76 this.ct移動用.t進行Loop();
\r
77 this.ct透明度用.t進行Loop();
\r
78 if( !this.bDanger中[(int)E楽器パート.DRUMS] )
\r
82 int num = this.ct透明度用.n現在の値;
\r
83 if( this.txDANGER != null )
\r
85 this.txDANGER.n透明度 = 60 + ( ( num < 180 ) ? num : ( 360 - num ) );
\r
87 num = this.ct移動用.n現在の値;
\r
88 int num2 = CDTXMania.ConfigIni.bReverse.Drums ? ( 0x7f - num ) : num;
\r
89 for( int i = -1; i < 4; i++ )
\r
91 if( this.txDANGER != null )
\r
93 this.txDANGER.t2D描画( CDTXMania.app.Device, 0x26, ( i * 0x80 ) + num2, this.rc領域[ 0 ] );
\r
94 this.txDANGER.t2D描画( CDTXMania.app.Device, 0x26, ( ( i * 0x80 ) + num2 ) + 0x40, this.rc領域[ 1 ] );
\r
95 this.txDANGER.t2D描画( CDTXMania.app.Device, 0x12a, ( i * 0x80 ) + num2, this.rc領域[ 0 ] );
\r
96 this.txDANGER.t2D描画( CDTXMania.app.Device, 0x12a, ( ( i * 0x80 ) + num2 ) + 0x40, this.rc領域[ 1 ] );
\r
106 #region [ private ]
\r
107 //-----------------
\r
108 //private bool bDanger中;
\r
109 //private CCounter ct移動用;
\r
110 //private CCounter ct透明度用;
\r
111 // private const int n右位置 = 0x12a;
\r
112 // private const int n左位置 = 0x26;
\r
113 private readonly Rectangle[] rc領域 = new Rectangle[] { new Rectangle( 0, 0, 0x20, 0x40 ), new Rectangle( 0x20, 0, 0x20, 0x40 ) };
\r
114 private CTexture txDANGER;
\r
115 //-----------------
\r