--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Diagnostics;
+using System.Drawing;
+using FDK;
+
+namespace DTXMania
+{
+ /// <summary>
+ /// Wailingチップの座標計算と描画を行う基底クラス
+ /// </summary>
+ public class CWailingChip共通
+ {
+ /// <summary>
+ /// コンストラクタ
+ /// </summary>
+ public CWailingChip共通()
+ {
+ }
+
+ /// <summary>
+ /// 描画処理 (引数が多いのは追々何とかする)
+ /// </summary>
+ /// <param name="pChip"></param>
+ /// <param name="txチップ"></param>
+ /// <param name="演奏判定ライン座標"></param>
+ /// <param name="ctWailingチップ模様アニメ"></param>
+ internal void t進行描画_チップ_ウェイリング(ref CChip pChip, ref CTexture txチップGB, ref CCounter ctWailingチップ模様アニメ)
+ {
+ if (CDTXMania.Instance.ConfigIni.bGuitar有効)
+ {
+ if (!pChip.bHit && pChip.b可視)
+ {
+ if (txチップGB != null)
+ {
+ txチップGB.n透明度 = pChip.n透明度;
+ }
+
+ EPart gb = pChip.bGuitar可視チップ_Wailing含む ? EPart.Guitar : EPart.Bass;
+
+ int x = CDTXMania.Instance.ConfigIni.GetLaneX(gb == EPart.Guitar ? ELane.GtW : ELane.BsW)
+ + (CDTXMania.Instance.ConfigIni.GetLaneW(gb == EPart.Guitar ? ELane.GtW : ELane.BsW)
+ - CDTXMania.Instance.Coordinates.ImgGtWailingChip.W) / 2;
+
+ int y = C演奏判定ライン座標共通.n判定ラインY座標(gb);
+
+ if (CDTXMania.Instance.ConfigIni.bReverse[gb])
+ {
+ y = y - (int)(pChip.nバーからの距離dot[gb]);
+ }
+ else
+ {
+ y = y + (int)(pChip.nバーからの距離dot[gb]);
+ }
+
+ int numA = (int)(26 * Scale.Y); // wailing chipの高さの半分
+ int showRangeY1 = SampleFramework.GameWindowSize.Height;
+ int numB = y - (int)(0x39 * Scale.Y);
+ int numC = 0;
+ if ((numB < (showRangeY1 + numA)) && (numB > -numA))
+ {
+ int c = ctWailingチップ模様アニメ.n現在の値 % CDTXMania.Instance.Coordinates.ImgGtCountWailingChip;
+ Rectangle rect = CDTXMania.Instance.Coordinates.ImgGtWailingChip.ApplyCounterX(c, 0);
+ txチップGB.t2D描画(
+ CDTXMania.Instance.Device,
+ x,
+ ((y - numA) + numC),
+ rect
+ );
+ }
+ }
+ return;
+ }
+ pChip.bHit = true;
+ }
+ }
+}