+++ /dev/null
-using System;\r
-using System.Collections.Generic;\r
-using System.Text;\r
-using System.Runtime.InteropServices;\r
-using System.Drawing;\r
-using FDK;\r
-\r
-namespace DTXMania\r
-{\r
- internal class CActSelectステータスパネル : CActivity\r
- {\r
- // メソッド\r
-\r
- public CActSelectステータスパネル()\r
- {\r
- base.b活性化してない = true;\r
- }\r
- public void t選択曲が変更された()\r
- {\r
- C曲リストノード c曲リストノード = CDTXMania.Instance.stage選曲.r現在選択中の曲;\r
- Cスコア cスコア = CDTXMania.Instance.stage選曲.r現在選択中のスコア;\r
- if ((c曲リストノード != null) && (cスコア != null))\r
- {\r
- this.n現在選択中の曲の難易度 = CDTXMania.Instance.stage選曲.n現在選択中の曲の難易度;\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- int nLevel = cスコア.譜面情報.レベル[i];\r
- if (nLevel < 0)\r
- {\r
- nLevel = 0;\r
- }\r
- if (nLevel > 99)\r
- {\r
- nLevel = 99;\r
- }\r
- this.n現在選択中の曲のレベル[i] = nLevel;\r
- this.n現在選択中の曲の最高ランク[i] = cスコア.譜面情報.最大ランク[i];\r
- this.b現在選択中の曲がフルコンボ[i] = cスコア.譜面情報.フルコンボ[i];\r
- this.db現在選択中の曲の最高スキル値[i] = cスコア.譜面情報.最大スキル[i];\r
- }\r
- for (int i = 0; i < 5; i++)\r
- {\r
- this.str難易度ラベル[i] = c曲リストノード.ar難易度ラベル[i];\r
- }\r
- if (this.r直前の曲 != c曲リストノード)\r
- {\r
- this.n難易度開始文字位置 = 0;\r
- }\r
- this.r直前の曲 = c曲リストノード;\r
- }\r
- }\r
-\r
-\r
- // CActivity 実装\r
-\r
- public override void On活性化()\r
- {\r
- this.n本体X = (int)(3 * Scale.X);\r
- this.n本体Y = (int)(0x15d * Scale.Y);\r
- this.n現在選択中の曲の難易度 = 0;\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- this.n現在選択中の曲のレベル[i] = 0;\r
- this.n現在選択中の曲の最高ランク[i] = CScoreIni.ERANK.UNKNOWN;\r
- this.b現在選択中の曲がフルコンボ[i] = false;\r
- this.db現在選択中の曲の最高スキル値[i] = 0.0;\r
- }\r
- for (int j = 0; j < 5; j++)\r
- {\r
- this.str難易度ラベル[j] = "";\r
- }\r
- this.n難易度開始文字位置 = 0;\r
- this.r直前の曲 = null;\r
- base.On活性化();\r
- }\r
- public override void On非活性化()\r
- {\r
- this.ct登場アニメ用 = null;\r
- this.ct難易度スクロール用 = null;\r
- this.ct難易度矢印用 = null;\r
- base.On非活性化();\r
- }\r
- public override void OnManagedリソースの作成()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- this.txパネル本体 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect status panel.png"), true);\r
- this.txレベル数字 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect level numbers.png"), false);\r
- this.txスキルゲージ = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect skill gauge.png"), false);\r
- this.txゲージ用数字他 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect skill number on gauge etc.png"), false);\r
- this.tx難易度用矢印 = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenSelect triangle arrow.png"), false);\r
- base.OnManagedリソースの作成();\r
- }\r
- }\r
- public override void OnManagedリソースの解放()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- TextureFactory.tテクスチャの解放(ref this.txパネル本体);\r
- TextureFactory.tテクスチャの解放(ref this.txレベル数字);\r
- TextureFactory.tテクスチャの解放(ref this.txスキルゲージ);\r
- TextureFactory.tテクスチャの解放(ref this.txゲージ用数字他);\r
- TextureFactory.tテクスチャの解放(ref this.tx難易度用矢印);\r
- base.OnManagedリソースの解放();\r
- }\r
- }\r
- public override int On進行描画()\r
- {\r
- if (!base.b活性化してない)\r
- {\r
- #region [ 初めての進行描画 ]\r
- //-----------------\r
- if (base.b初めての進行描画)\r
- {\r
- this.ct登場アニメ用 = new CCounter(0, 100, 5, CDTXMania.Instance.Timer);\r
- this.ct難易度スクロール用 = new CCounter(0, 20, 1, CDTXMania.Instance.Timer);\r
- this.ct難易度矢印用 = new CCounter(0, 5, 80, CDTXMania.Instance.Timer);\r
- base.b初めての進行描画 = false;\r
- }\r
- //-----------------\r
- #endregion\r
-\r
- // 進行\r
-\r
- this.ct登場アニメ用.t進行();\r
-\r
- this.ct難易度スクロール用.t進行();\r
- if (this.ct難易度スクロール用.b終了値に達した)\r
- {\r
- int num = this.n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す();\r
- if (num < 0)\r
- {\r
- this.n難易度開始文字位置--;\r
- }\r
- else if (num > 0)\r
- {\r
- this.n難易度開始文字位置++;\r
- }\r
- this.ct難易度スクロール用.n現在の値 = 0;\r
- }\r
-\r
- this.ct難易度矢印用.t進行Loop();\r
-\r
- // 描画\r
-\r
- #region [ パネル本体の描画 ]\r
- //-----------------\r
- if (this.txパネル本体 != null)\r
- {\r
- if (this.ct登場アニメ用.b終了値に達した)\r
- {\r
- this.n本体X = (int)(3 * Scale.X);\r
- this.n本体Y = (int)(0x15d * Scale.Y);\r
- }\r
- else\r
- {\r
- double num2 = ((double)((int)(100 * Scale.X) - this.ct登場アニメ用.n現在の値)) / 100.0;\r
- double num3 = Math.Sin(Math.PI / 2 * num2);\r
- this.n本体X = 3 - ((int)((this.txパネル本体.sz画像サイズ.Width * num3) * num3));\r
- this.n本体Y = (int)(0x15d * Scale.Y);\r
- }\r
- this.txパネル本体.t2D描画(CDTXMania.Instance.Device, this.n本体X, this.n本体Y);\r
- }\r
- //-----------------\r
- #endregion\r
-\r
- #region [ 難易度文字列の描画 ]\r
- //-----------------\r
-\r
- #region [ chArray ← 難易度文字列を並べたもの、index ← その文字数 ]\r
- //-----------------\r
- char[] chArray = new char[0x100];\r
- C文字コンソール.Eフォント種別[] eフォント種別Array = new C文字コンソール.Eフォント種別[0x100];\r
- bool flag = false;\r
- bool flag2 = true;\r
- int index = 0;\r
- for (int i = 0; i < 5; i++)\r
- {\r
- if ((this.str難易度ラベル[i] != null) && (this.str難易度ラベル[i].Length > 0))\r
- {\r
- string str = this.str難易度ラベル[i];\r
- char[] chArray2 = new char[0x100];\r
- int num6 = 0;\r
- while ((num6 < 0xff) && (num6 < this.str難易度ラベル[i].Length))\r
- {\r
- chArray2[num6] = str[num6];\r
- num6++;\r
- }\r
- chArray2[num6] = '\0';\r
- if (!flag2)\r
- {\r
- if (index < 0xff)\r
- {\r
- chArray[index] = ' ';\r
- eフォント種別Array[index] = C文字コンソール.Eフォント種別.白;\r
- index++;\r
- }\r
- if (index < 0xff)\r
- {\r
- chArray[index] = ' ';\r
- eフォント種別Array[index] = C文字コンソール.Eフォント種別.白;\r
- index++;\r
- }\r
- }\r
- flag2 = false;\r
- num6 = 0;\r
- while ((chArray2[num6] != '\0') && (index < 0xff))\r
- {\r
- chArray[index] = chArray2[num6++];\r
- eフォント種別Array[index] = (this.n現在選択中の曲の難易度 == i) ? C文字コンソール.Eフォント種別.赤 : C文字コンソール.Eフォント種別.白;\r
- index++;\r
- }\r
- chArray[index] = '\0';\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
-\r
- if (index > 0)\r
- {\r
- int x = this.n本体X + (int)(20 * Scale.X);\r
- int y = this.n本体Y + (int)(0x10 * Scale.Y);\r
- index = this.n難易度開始文字位置;\r
- flag = true;\r
- while (index < (this.n難易度開始文字位置 + 55)) // 0x24 -> 55\r
- {\r
- CDTXMania.Instance.act文字コンソール.tPrint(\r
- x,\r
- y + 5,\r
- eフォント種別Array[index],\r
- chArray[index].ToString()\r
- );\r
- x += 8 * 2;\r
- index++;\r
- if (chArray[index] == '\0')\r
- {\r
- flag = false;\r
- break;\r
- }\r
- }\r
- if (this.n難易度開始文字位置 > 0)\r
- {\r
- int num9 = (this.n本体X + (int)(12 * Scale.X)) - (int)(this.ct難易度矢印用.n現在の値 * Scale.X);\r
- int num10 = (this.n本体Y + (int)(0x10 * Scale.Y)) + (int)(5 * Scale.Y);\r
- if (this.tx難易度用矢印 != null)\r
- {\r
- this.tx難易度用矢印.t2D描画(CDTXMania.Instance.Device, num9, num10, new Rectangle(0, 0, (int)(8 * Scale.X), (int)(0x10 * Scale.Y)));\r
- }\r
- }\r
- if (flag)\r
- {\r
- int num11 = ((this.n本体X + (int)(20 * Scale.X)) + (int)(0x120 * Scale.X)) + (int)(this.ct難易度矢印用.n現在の値 * Scale.Y);\r
- int num12 = (this.n本体Y + (int)(0x10 * Scale.Y)) + (int)(5 * Scale.Y);\r
- if (this.tx難易度用矢印 != null)\r
- {\r
- this.tx難易度用矢印.t2D描画(CDTXMania.Instance.Device, num11, num12, new Rectangle((int)(8 * Scale.X), 0, (int)(8 * Scale.X), (int)(0x10 * Scale.Y)));\r
- }\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
-\r
- Cスコア cスコア = CDTXMania.Instance.stage選曲.r現在選択中のスコア;\r
-\r
- #region [ 選択曲の Lv の描画 ]\r
- //-----------------\r
- if ((cスコア != null) && (this.txレベル数字 != null))\r
- {\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- Rectangle rect十の位;\r
- Rectangle rect一の位;\r
- int nDispPosX = this.n本体X + (int)(66 * Scale.X);\r
- int nDispPosY = this.n本体Y + (int)(50 * Scale.Y) + CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- int nLevel = this.n現在選択中の曲のレベル[i];\r
- if (nLevel < 0)\r
- {\r
- nLevel = 0;\r
- }\r
- else if (nLevel > 99)\r
- {\r
- nLevel = 99;\r
- }\r
- // Lv25刻みで、白→オレンジ→黄色→赤、と色を変える\r
- // \r
- int nRectOffsetX = ((nLevel / 25) < 2) ? (int)(64 * Scale.X) : 0;\r
- int nRectOffsetY = (((nLevel / 25) % 2) == 0) ? (int)(64 * Scale.Y) : 0;\r
- if (nLevel == 0)\r
- {\r
- rect十の位 = this.rc数字[11]; // "--"\r
- rect一の位 = this.rc数字[11]; // "-- "\r
- }\r
- else if (cスコア.譜面情報.レベルを非表示にする)\r
- {\r
- rect十の位 = this.rc数字[10]; // "?"\r
- rect一の位 = this.rc数字[10]; // "?"\r
- }\r
- else\r
- {\r
- rect十の位 = this.rc数字[nLevel / 10];\r
- rect一の位 = this.rc数字[nLevel % 10];\r
- }\r
- rect十の位.X += nRectOffsetX;\r
- rect十の位.Y += nRectOffsetY;\r
- rect一の位.X += nRectOffsetX;\r
- rect一の位.Y += nRectOffsetY;\r
- this.txレベル数字.t2D描画(CDTXMania.Instance.Device, nDispPosX, nDispPosY, rect十の位);\r
- this.txレベル数字.t2D描画(CDTXMania.Instance.Device, nDispPosX + (int)(13 * Scale.X), nDispPosY, rect一の位);\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
- #region [ 選択曲の 最高スキル値ゲージ+数値の描画 ]\r
- //-----------------\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- if (this.n現在選択中の曲のレベル[i] != 0)\r
- {\r
- double dMaxSkill = this.db現在選択中の曲の最高スキル値[i];\r
- if (dMaxSkill != 0.0)\r
- {\r
- int nDispPosX = this.n本体X + (int)(100 * Scale.X);\r
- int nDispPosY = this.n本体Y + (int)(53 * Scale.Y) + +CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- this.txスキルゲージ.t2D描画(CDTXMania.Instance.Device, nDispPosX, nDispPosY,\r
- new Rectangle(0, 0, (int)(170.0 * Scale.X * dMaxSkill / 100.0), (int)(10 * Scale.Y)));\r
- }\r
- string sMaxSkillString = dMaxSkill.ToString("##0.00");\r
- int nMaxSkillStringWidth = 0;\r
- foreach (char ch in sMaxSkillString)\r
- {\r
- for (int j = 0; j < 12; j++)\r
- {\r
- if (ch == this.st数字[j].ch)\r
- {\r
- nMaxSkillStringWidth += this.st数字[j].rc.Width - 1;\r
- break;\r
- }\r
- }\r
- }\r
- int x = this.n本体X + (int)(182 * Scale.X) - nMaxSkillStringWidth / 2;\r
- int y = this.n本体Y + (int)(53 * Scale.Y) + +CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- foreach (char ch in sMaxSkillString)\r
- {\r
- for (int j = 0; j < 12; j++)\r
- {\r
- if (ch == this.st数字[j].ch)\r
- {\r
- if (this.txゲージ用数字他 != null)\r
- {\r
- this.txゲージ用数字他.t2D描画(CDTXMania.Instance.Device, x, y, this.st数字[j].rc);\r
- }\r
- x += this.st数字[j].rc.Width - 1;\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- int x = this.n本体X + (int)((182 - 20) * Scale.X);\r
- int y = this.n本体Y + (int)(53 * Scale.Y) + +CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- if (this.txゲージ用数字他 != null)\r
- {\r
- this.txゲージ用数字他.t2D描画(CDTXMania.Instance.Device, x, y, new Rectangle(0, (int)(22 * Scale.Y), (int)(42 * Scale.X), (int)(10 * Scale.Y)));\r
- }\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
- #region [ 選択曲の 最高ランクの描画 ]\r
- //-----------------\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- CScoreIni.ERANK nMaxRank = this.n現在選択中の曲の最高ランク[i];\r
- if (nMaxRank != CScoreIni.ERANK.UNKNOWN)\r
- {\r
- int x = this.n本体X + (int)(278 * Scale.X);\r
- int y = this.n本体Y + (int)(55 * Scale.Y) + +CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- if (this.txゲージ用数字他 != null)\r
- {\r
- this.txゲージ用数字他.t2D描画(CDTXMania.Instance.Device, x, y, this.rcランク[(int)nMaxRank]);\r
- }\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
- #region [ 選択曲の FullCombo の 描画 ]\r
- //-----------------\r
- Rectangle rectFullCombo = new Rectangle((int)(30 * Scale.X), (int)(32 * Scale.Y), (int)(30 * Scale.X), (int)(16 * Scale.Y));\r
- for (EPart i = EPart.Drums; i <= EPart.Bass; i++)\r
- {\r
- if (this.b現在選択中の曲がフルコンボ[i])\r
- {\r
- int x = this.n本体X + (int)(290 * Scale.X);\r
- int y = this.n本体Y + (int)(53 * Scale.Y) + +CDTXMania.Instance.Coordinates.OffsetGuitarBassSwap[(CDTXMania.Instance.ConfigIni.bIsSwappedGuitarBass ? 1 : 0)][i].Y;\r
- if (this.txゲージ用数字他 != null)\r
- {\r
- this.txゲージ用数字他.t2D描画(CDTXMania.Instance.Device, x, y, rectFullCombo);\r
- }\r
- }\r
- }\r
- //-----------------\r
- #endregion\r
- }\r
- return 0;\r
- }\r
-\r
-\r
- // その他\r
-\r
- #region [ private ]\r
- //-----------------\r
- [StructLayout(LayoutKind.Sequential)]\r
- private struct ST数字\r
- {\r
- public char ch;\r
- public Rectangle rc;\r
- public ST数字(char ch, Rectangle rc)\r
- {\r
- this.ch = ch;\r
- this.rc = rc;\r
- }\r
- }\r
-\r
- private STDGBSValue<bool> b現在選択中の曲がフルコンボ;\r
- private CCounter ct登場アニメ用;\r
- private CCounter ct難易度スクロール用;\r
- private CCounter ct難易度矢印用;\r
- private STDGBSValue<double> db現在選択中の曲の最高スキル値;\r
- private STDGBSValue<int> n現在選択中の曲のレベル;\r
- private STDGBSValue<CScoreIni.ERANK> n現在選択中の曲の最高ランク;\r
- private int n現在選択中の曲の難易度;\r
- private int n難易度開始文字位置;\r
- private const int n難易度表示可能文字数 = 0x24;\r
- private int n本体X;\r
- private int n本体Y;\r
- private readonly Rectangle[] rcランク = new Rectangle[] {\r
- new Rectangle( (int)(0 * Scale.X), (int)(0x20 * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(10 * Scale.X), (int)(0x20 * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(20 * Scale.X), (int)(0x20 * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(0 * Scale.X), (int)(0x2a * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(10 * Scale.X), (int)(0x2a * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(20 * Scale.X), (int)(0x2a * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) ),\r
- new Rectangle( (int)(0 * Scale.X), (int)(0x34 * Scale.Y), (int)(10 * Scale.X), (int)(10 * Scale.Y) )\r
- };\r
- private readonly Rectangle[] rc数字 = new Rectangle[] {\r
- new Rectangle( (int)(0 * Scale.X), (int)(0 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(15 * Scale.X), (int)(0 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(30 * Scale.X), (int)(0 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(0x2d * Scale.X), (int)(0 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(0 * Scale.X), (int)(0x13 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(15 * Scale.X), (int)(0x13 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(30 * Scale.X), (int)(0x13 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(0x2d * Scale.X), (int)(0x13 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(0 * Scale.X), (int)(0x26 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(15 * Scale.X),(int)(0x26 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(30 * Scale.X), (int)(0x26 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) ),\r
- new Rectangle( (int)(0x2d * Scale.X), (int)(0x26 * Scale.Y), (int)(15 * Scale.X), (int)(0x13 * Scale.Y) )\r
- };\r
- private C曲リストノード r直前の曲;\r
- private string[] str難易度ラベル = new string[] { "", "", "", "", "" };\r
- private readonly ST数字[] st数字 = new ST数字[] {\r
- new ST数字( '0', new Rectangle( (int)(0 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '1', new Rectangle( (int)(8 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '2', new Rectangle( (int)(0x10 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '3', new Rectangle( (int)(0x18 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '4', new Rectangle( (int)(0x20 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '5', new Rectangle( (int)(40 * Scale.X), (int)(0 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '6', new Rectangle( (int)(0 * Scale.X), (int)(11 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '7', new Rectangle( (int)(8 * Scale.X), (int)(11 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '8', new Rectangle( (int)(0x10 * Scale.X), (int)(11 * Scale.Y), (int)(8 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( '9', new Rectangle( (int)(0x18 * Scale.X), (int)(11 * Scale.Y), (int)(8 * Scale.X),(int)( 11 * Scale.Y) ) ),\r
- new ST数字( '.', new Rectangle( (int)(0x20 * Scale.X), (int)(11 * Scale.Y), (int)(4 * Scale.X), (int)(11 * Scale.Y) ) ),\r
- new ST数字( 'p', new Rectangle( (int)(0x24 * Scale.X), (int)(11 * Scale.Y), (int)(15 * Scale.X), (int)(11 * Scale.Y) ) )\r
- };\r
- private CTexture txゲージ用数字他;\r
- private CTexture txスキルゲージ;\r
- private CTexture txパネル本体;\r
- private CTexture txレベル数字;\r
- private CTexture tx難易度用矢印;\r
-\r
- private int n現在の難易度ラベルが完全表示されているかを調べてスクロール方向を返す()\r
- {\r
- int num = 0;\r
- int length = 0;\r
- for (int i = 0; i < 5; i++)\r
- {\r
- if ((this.str難易度ラベル[i] != null) && (this.str難易度ラベル[i].Length > 0))\r
- {\r
- length = this.str難易度ラベル[i].Length;\r
- }\r
- if (this.n現在選択中の曲の難易度 == i)\r
- {\r
- break;\r
- }\r
- if ((this.str難易度ラベル[i] != null) && (this.str難易度ラベル.Length > 0))\r
- {\r
- num += length + 2;\r
- }\r
- }\r
- if (num >= (this.n難易度開始文字位置 + 55)) // 0x24 -> 55\r
- {\r
- return 1;\r
- }\r
- if ((num + length) <= this.n難易度開始文字位置)\r
- {\r
- return -1;\r
- }\r
- if (((num + length) - 1) >= (this.n難易度開始文字位置 + 55)) // 0x24 -> 55\r
- {\r
- return 1;\r
- }\r
- if (num < this.n難易度開始文字位置)\r
- {\r
- return -1;\r
- }\r
- return 0;\r
- }\r
- //-----------------\r
- #endregion\r
- }\r
-}\r