1
0
mirror of synced 2025-01-19 01:24:08 +01:00

Display scores on the 2nd dan result pad (Exam display doesn't work yet)

This commit is contained in:
0aubsq 2022-01-06 16:55:17 +01:00
parent ff905ea417
commit f142b27987
3 changed files with 74 additions and 14 deletions

View File

@ -513,7 +513,7 @@ namespace TJAPlayer3
} }
// Regular ingame exams draw // Regular ingame exams draw
public void DrawExam(Dan_C[] dan_C) public void DrawExam(Dan_C[] dan_C, bool isResult = false)
{ {
int count = 0; int count = 0;
int countNoGauge = 0; int countNoGauge = 0;
@ -538,7 +538,8 @@ namespace TJAPlayer3
if (dan_C[i] == null || dan_C[i].GetEnable() != true) if (dan_C[i] == null || dan_C[i].GetEnable() != true)
continue ; continue ;
if (dan_C[i].GetExamType() != Exam.Type.Gauge) if (dan_C[i].GetExamType() != Exam.Type.Gauge
|| isResult)
{ {
currentPosition++; currentPosition++;
@ -548,9 +549,19 @@ namespace TJAPlayer3
// Y index of the gauge // Y index of the gauge
int yIndex = (currentPosition % 3) + 1; int yIndex = (currentPosition % 3) + 1;
// Specific case for gauge
if (dan_C[i].GetExamType() == Exam.Type.Gauge)
yIndex = -1;
// Panel origin
int xOrigin = (isResult) ? 236 : TJAPlayer3.Skin.Game_DanC_X[1];
int yOrigin = (isResult) ? 306 : TJAPlayer3.Skin.Game_DanC_Y[1];
// Origin position which will be used as a reference for bar elements // Origin position which will be used as a reference for bar elements
int barXOffset = TJAPlayer3.Skin.Game_DanC_X[1] + (currentPosition >= 3 ? 503 : 0); int barXOffset = xOrigin + (currentPosition >= 3 ? 503 : 0);
int barYOffset = TJAPlayer3.Skin.Game_DanC_Y[1] + TJAPlayer3.Skin.Game_DanC_Size[1] * yIndex + (yIndex * TJAPlayer3.Skin.Game_DanC_Padding); int barYOffset = yOrigin + TJAPlayer3.Skin.Game_DanC_Size[1] * yIndex + (yIndex * TJAPlayer3.Skin.Game_DanC_Padding);
// Small bar
int lowerBarYOffset = barYOffset + TJAPlayer3.Skin.Game_DanC_Size[1] + TJAPlayer3.Skin.Game_DanC_Padding; int lowerBarYOffset = barYOffset + TJAPlayer3.Skin.Game_DanC_Size[1] + TJAPlayer3.Skin.Game_DanC_Padding;
// Skin X : 70 // Skin X : 70

View File

@ -921,7 +921,7 @@ namespace TJAPlayer3
} }
} }
protected void tスコア文字表示(int x, int y, string str) public void tスコア文字表示(int x, int y, string str)
{ {
foreach (char ch in str) foreach (char ch in str)
{ {

View File

@ -1073,11 +1073,12 @@ namespace TJAPlayer3
** 1600 => Dan plate ** 1600 => Dan plate
** 3200 + 300 * count => Songs display ** 3200 + 300 * count => Songs display
** 5500 + 300 * count => Exams plate display ** 5500 + 300 * count => Exams plate display
** 7000 + 300 * count => Goukaku/Fugoukaku display => Step 2 (Prompt the user to tap enter and let them swaping between informations hitting kas) ** 8200 + 300 * count => Goukaku/Fugoukaku display => Step 2 (Prompt the user to tap enter and let them swaping between informations hitting kas)
** ??? => Success/Fail animation
*/ */
if (ctPhase1 == null) if (ctPhase1 == null)
{ {
ctPhase1 = new CCounter(0, 7000 + songCount * 300, 0.5f, TJAPlayer3.Timer); ctPhase1 = new CCounter(0, 8200 + songCount * 300, 0.5f, TJAPlayer3.Timer);
ctPhase1.n現在の値 = 0; ctPhase1.n現在の値 = 0;
} }
@ -1133,7 +1134,7 @@ namespace TJAPlayer3
if (ctPhase2 != null && examsShift != 0) if (ctPhase2 != null && examsShift != 0)
examsOffset = (examsShift < 0) ? 1280 - ctPhase2.n現在の値 : ctPhase2.n現在の値; examsOffset = (examsShift < 0) ? 1280 - ctPhase2.n現在の値 : ctPhase2.n現在の値;
else if (ctPhase1.b終了値に達してない) else if (ctPhase1.b終了値に達してない)
examsOffset = Math.Max(0, 5500 + 300 * songCount - ctPhase1.n現在の値); examsOffset = Math.Max(0, 5500 + 300 * songCount - ctPhase1.n現在の値) * 2;
ftDanDisplayExamInfo(examsOffset); ftDanDisplayExamInfo(examsOffset);
@ -1143,7 +1144,7 @@ namespace TJAPlayer3
Exam.Status examStatus = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C); Exam.Status examStatus = TJAPlayer3.stage演奏ドラム画面.actDan.GetExamStatus(TJAPlayer3.stage結果.st演奏記録.Drums.Dan_C);
int unitsBeforeAppearance = Math.Max(0, 7000 + 300 * songCount - ctPhase1.n現在の値); int unitsBeforeAppearance = Math.Max(0, 8200 + 300 * songCount - ctPhase1.n現在の値);
if (unitsBeforeAppearance <= 270) if (unitsBeforeAppearance <= 270)
{ {
@ -1174,7 +1175,7 @@ namespace TJAPlayer3
#endregion #endregion
#region [ Goukaku plate type calculus] #region [ Goukaku plate type calculus ]
int successType = 0; int successType = 0;
@ -1487,18 +1488,66 @@ namespace TJAPlayer3
private void ftDanDisplayExamInfo(int offset = 0) private void ftDanDisplayExamInfo(int offset = 0)
{ {
int baseX = offset; int baseX = offset;
int baseY = 0; int baseY = -4;
TJAPlayer3.Tx.DanResult_StatePanel_Base.t2D描画(TJAPlayer3.app.Device, baseX, baseY); TJAPlayer3.Tx.DanResult_StatePanel_Base.t2D描画(TJAPlayer3.app.Device, baseX, baseY);
TJAPlayer3.Tx.DanResult_StatePanel_Main.t2D描画(TJAPlayer3.app.Device, baseX, baseY); TJAPlayer3.Tx.DanResult_StatePanel_Main.t2D描画(TJAPlayer3.app.Device, baseX, baseY);
#region [ Global scores ]
int smoothBaseX = baseX;
int smoothBaseY = 0;
int totalHit = TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGreat
+ TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood
+ TJAPlayer3.stage演奏ドラム画面.GetRoll(0);
string[] scoresArr =
{
TJAPlayer3.stage演奏ドラム画面.actScore.Get(E楽器パート.DRUMS, 0).ToString(),
TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGreat.ToString(),
TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nGood.ToString(),
TJAPlayer3.stage演奏ドラム画面.CChartScore[0].nMiss.ToString(),
TJAPlayer3.stage演奏ドラム画面.GetRoll(0).ToString(),
TJAPlayer3.stage演奏ドラム画面.actCombo.n現在のコンボ数.[0].ToString(),
totalHit.ToString()
};
var totalZahyou = new Point[]
{
new Point(smoothBaseX + 584, smoothBaseY + 124),
new Point(smoothBaseX + 842, smoothBaseY + 106),
new Point(smoothBaseX + 842, smoothBaseY + 148),
new Point(smoothBaseX + 842, smoothBaseY + 190),
new Point(smoothBaseX + 1144, smoothBaseY + 106),
new Point(smoothBaseX + 1144, smoothBaseY + 148),
new Point(smoothBaseX + 1144, smoothBaseY + 190),
};
// Small digits
for (int i = 1; i < 7; i++)
{
this.actParameterPanel.t小文字表示(totalZahyou[i].X - 122, totalZahyou[i].Y - 11, string.Format("{0,5:####0}", scoresArr[i]));
}
// Large digits
this.actParameterPanel.tスコア文字表示(totalZahyou[0].X - 18, totalZahyou[0].Y - 5, string.Format("{0,7:######0}", scoresArr[0]));
#endregion
#region [ Display exams ]
TJAPlayer3.stage演奏ドラム画面.actDan.DrawExam(TJAPlayer3.stage演奏ドラム画面.actDan.GetExam(), true);
#endregion
} }
#endregion #endregion
#region [Dan result individual song information] #region [Dan result individual song information]
private void ftDanDisplaySongInfo(int i, int offset = 0) private void ftDanDisplaySongInfo(int i, int offset = 0)
{ {
int baseX = 255 + offset; int baseX = 255 + offset;
int baseY = 100 + 183 * i; int baseY = 100 + 183 * i;