+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Diagnostics;\r
-\r
-namespace DTXMania\r
-{\r
- /// <summary>\r
- /// 判定ライン関係の座標処理をまとめたクラス\r
- /// </summary>\r
- internal class C演奏判定ライン座標共通\r
- {\r
- /// <summary>\r
- /// 表示位置の補正データ\r
- /// 初期化は外部から行うこと。\r
- /// </summary>\r
- //public STDGBVALUE<int> nJudgeLinePosYDelta;\r
-\r
- public C演奏判定ライン座標共通()\r
- {\r
- // 補正値は、Normal/Reverse, Drums/GR画面共通\r
- //nJudgeLinePosYDelta.Drums = 0;\r
- //nJudgeLinePosYDelta.Guitar = 0;\r
- //nJudgeLinePosYDelta.Bass = 0;\r
- }\r
-\r
- public enum Reverse\r
- {\r
- UseConfig,\r
- Reverse,\r
- NotReverse\r
- }\r
-\r
- /// <summary>\r
- /// 判定ラインのY座標を返す。\r
- /// </summary>\r
- /// <param name="eInst">E楽器パート</param>\r
- /// <param name="bGRmode">GRmodeか否か</param>\r
- /// <param name="bReverse">Reverseか否か</param>\r
- /// <param name="bWailingFrame">Wailing枠の座標か、判定ラインの座標か</param>\r
- /// <param name="b補正あり">プレーヤーのライン表示位置補正情報を加えるかどうか</param>\r
- /// <returns></returns>\r
- public static int n判定ラインY座標(EPart eInst, bool bWailingFrame = false, bool b補正あり = false, Reverse rt = Reverse.UseConfig)\r
- {\r
- if (eInst == EPart.Unknown)\r
- {\r
- throw new ArgumentOutOfRangeException();\r
- }\r
- else\r
- {\r
- int ret = CDTXMania.Instance.ConfigIni.cdJudgeLineY[eInst];\r
- int delta = CDTXMania.Instance.ConfigIni.nJudgeLinePosOffset[eInst];\r
-\r
- bool rev = false;\r
- if (rt == Reverse.Reverse)\r
- {\r
- rev = true;\r
- }\r
- else if (rt == Reverse.UseConfig)\r
- {\r
- rev = CDTXMania.Instance.ConfigIni.bReverse[eInst];\r
- }\r
-\r
- if (rev)\r
- {\r
- ret = SampleFramework.GameWindowSize.Height - ret;\r
- if (bWailingFrame)\r
- {\r
- ret -= CDTXMania.Instance.Coordinates.ImgGtWailingFrame.H / 2;\r
- }\r
- if (eInst == EPart.Drums)\r
- {\r
- delta = -delta;\r
- }\r
- }\r
- else\r
- {\r
- if (bWailingFrame)\r
- {\r
- ret -= CDTXMania.Instance.Coordinates.ImgGtWailingFrame.H / 2;\r
- }\r
- if (eInst != EPart.Drums)\r
- {\r
- delta = -delta;\r
- }\r
- }\r
- if (!b補正あり)\r
- {\r
- delta = 0;\r
- }\r
- return ret + delta;\r
- }\r
- }\r
-\r
- public static int n演奏RGBボタンY座標(EPart eInst)\r
- {\r
- if (eInst == EPart.Drums)\r
- {\r
- throw new NotImplementedException();\r
- }\r
- else if (eInst == EPart.Unknown)\r
- {\r
- throw new ArgumentOutOfRangeException();\r
- }\r
- else\r
- {\r
- int maxButtonH = Math.Max(CDTXMania.Instance.Coordinates.ImgGtButtonR.H, CDTXMania.Instance.Coordinates.ImgGtButtonG.H);\r
- maxButtonH = Math.Max(maxButtonH, CDTXMania.Instance.Coordinates.ImgGtButtonB.H);\r
- int ret = n判定ラインY座標(eInst, false, true);\r
- if (CDTXMania.Instance.ConfigIni.bReverse[eInst])\r
- {\r
- ret += CDTXMania.Instance.Coordinates.ImgJudgeLine.H;\r
- }\r
- else\r
- {\r
- ret -= maxButtonH;\r
- }\r
- return ret;\r
- }\r
- }\r
- }\r
-}\r