1
0
mirror of synced 2024-11-27 17:00:50 +01:00

Move TitleTextureKey stuff to a separate class

This commit is contained in:
0auBSQ 2024-08-04 08:58:26 +09:00
parent ec3c90dc91
commit 95f9802bb2
20 changed files with 285 additions and 399 deletions

View File

@ -0,0 +1,132 @@
using FDK;
using Color = System.Drawing.Color;
namespace TJAPlayer3 {
public sealed class TitleTextureKey {
// Static
private static readonly Dictionary<TitleTextureKey, CTexture> _titledictionary
= new Dictionary<TitleTextureKey, CTexture>();
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
texture = GenerateTitleTexture(titleTextureKey);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
public static CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey, bool bVertical, bool keepCenter = false) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
if (bVertical)
texture = GenerateTitleTextureTate(titleTextureKey, keepCenter);
else
texture = GenerateTitleTexture(titleTextureKey, keepCenter);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
public static CTexture ResolveTitleTextureTate(TitleTextureKey titleTextureKey) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
texture = GenerateTitleTextureTate(titleTextureKey);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
private static CTexture GenerateTitleTextureTate(TitleTextureKey titleTextureKey, bool keepCenter = false) {
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText_V(
titleTextureKey.str文字, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
CTexture tx文字テクスチャ = TJAPlayer3.tテクスチャの生成(bmp, false);
if (tx文字テクスチャ.szTextureSize.Height > titleTextureKey.maxWidth) {
//tx文字テクスチャ.vc拡大縮小倍率.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Height);
tx文字テクスチャ.vcScaleRatio.X = 1.0f;
tx文字テクスチャ.vcScaleRatio.Y = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Height);
}
return tx文字テクスチャ;
}
}
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey, bool keepCenter = false) {
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText(
titleTextureKey.str文字, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
CTexture tx文字テクスチャ = TJAPlayer3.tテクスチャの生成(bmp, false);
if (tx文字テクスチャ.szTextureSize.Width > titleTextureKey.maxWidth) {
tx文字テクスチャ.vcScaleRatio.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Width);
tx文字テクスチャ.vcScaleRatio.Y = 1.0f;// (float) (((double) titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
}
return tx文字テクスチャ;
}
}
private static void ClearTitleTextureCache() {
// Was initially used when disposing the song select screen (at the end of the program), probably unused
foreach (var titleTexture in _titledictionary.Values) {
titleTexture.Dispose();
}
_titledictionary.Clear();
}
// Non-static
public readonly string str文字;
public readonly CCachedFontRenderer cPrivateFastFont;
public readonly Color forecolor;
public readonly Color backcolor;
public readonly int maxWidth;
public readonly Color? secondEdge;
public TitleTextureKey(string str文字, CCachedFontRenderer cPrivateFastFont, Color forecolor, Color backcolor, int maxHeight, Color? secondEdge = null) {
this.str文字 = str文字;
this.cPrivateFastFont = cPrivateFastFont;
this.forecolor = forecolor;
this.backcolor = backcolor;
this.maxWidth = maxHeight;
this.secondEdge = secondEdge;
}
private bool Equals(TitleTextureKey other) {
return string.Equals(str文字, other.str文字) &&
cPrivateFastFont.Equals(other.cPrivateFastFont) &&
forecolor.Equals(other.forecolor) &&
backcolor.Equals(other.backcolor) &&
secondEdge.Equals(other.secondEdge) &&
maxWidth == other.maxWidth;
}
public override bool Equals(object obj) {
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
return obj is TitleTextureKey other && Equals(other);
}
public override int GetHashCode() {
unchecked {
var hashCode = str文字.GetHashCode();
hashCode = (hashCode * 397) ^ cPrivateFastFont.GetHashCode();
hashCode = (hashCode * 397) ^ forecolor.GetHashCode();
hashCode = (hashCode * 397) ^ backcolor.GetHashCode();
hashCode = (hashCode * 397) ^ maxWidth;
if (secondEdge != null)
hashCode = (hashCode * 397) ^ secondEdge.GetHashCode();
return hashCode;
}
}
public static bool operator ==(TitleTextureKey left, TitleTextureKey right) {
return Equals(left, right);
}
public static bool operator !=(TitleTextureKey left, TitleTextureKey right) {
return !Equals(left, right);
}
}
}

View File

@ -4,7 +4,6 @@ using System.Text;
using System.Text.Json.Nodes;
using FDK;
using NLua;
using static TJAPlayer3.CActSelect曲リスト;
namespace TJAPlayer3 {
class CLuaScript : IDisposable {
@ -156,8 +155,8 @@ namespace TJAPlayer3 {
return new TitleTextureKey(title, fontRenderer, color ?? Color.White, edgeColor ?? Color.Black, maxSize);
}
private CTexture GetTextTex(CActSelect曲リスト.TitleTextureKey titleTextureKey, bool vertical, bool keepCenter) {
return TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(titleTextureKey, vertical, keepCenter);
private CTexture GetTextTex(TitleTextureKey titleTextureKey, bool vertical, bool keepCenter) {
return TitleTextureKey.ResolveTitleTexture(titleTextureKey, vertical, keepCenter);
}
public CLuaScript(string dir, string? texturesDir = null, string? soundsDir = null, bool loadAssets = true) {

View File

@ -636,15 +636,15 @@ namespace TJAPlayer3 {
_bar.color4 = CConversion.ColorToColor4(Color.DarkGray);
if (_chara != null)
_chara.color4 = CConversion.ColorToColor4(Color.DarkGray);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true).color4 = CConversion.ColorToColor4(Color.DarkGray);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText).color4 = CConversion.ColorToColor4(Color.DarkGray);
TitleTextureKey.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true).color4 = CConversion.ColorToColor4(Color.DarkGray);
TitleTextureKey.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText).color4 = CConversion.ColorToColor4(Color.DarkGray);
} else {
if (_bar != null)
_bar.color4 = CConversion.ColorToColor4(Color.White);
if (_chara != null)
_chara.color4 = CConversion.ColorToColor4(Color.White);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true).color4 = CConversion.ColorToColor4(Color.White);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText).color4 = CConversion.ColorToColor4(Color.White);
TitleTextureKey.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true).color4 = CConversion.ColorToColor4(Color.White);
TitleTextureKey.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText).color4 = CConversion.ColorToColor4(Color.White);
}
#endregion
@ -750,11 +750,11 @@ namespace TJAPlayer3 {
new Rectangle(_chara.szTextureSize.Width / 2, 0, _chara.szTextureSize.Width / 2, _chara.szTextureSize.Height));
}
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText)?.t2D中心基準描画(
TitleTextureKey.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText)?.t2D中心基準描画(
TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_Title[0] + (TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_Title_Move_X * BarAnimeCount),
TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_Title[1] - (TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_Title_Move * BarAnimeCount));
CTexture currentText = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true);
CTexture currentText = TitleTextureKey.ResolveTitleTexture(_menu.ttkBoxText, TJAPlayer3.Skin.Title_VerticalText, true);
if (currentText != null) {
currentText.Opacity = (int)(BarAnimeCount * 255f);
currentText?.t2D中心基準描画(TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_BoxText[0], TJAPlayer3.Skin.Title_ModeSelect_Bar_Center_BoxText[1]);
@ -803,7 +803,7 @@ namespace TJAPlayer3 {
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText)?.t2D中心基準描画(pos.X + BarAnimeX - BarMoveX + TJAPlayer3.Skin.Title_ModeSelect_Title_Offset[0], pos.Y + BarAnimeY - BarMoveY + TJAPlayer3.Skin.Title_ModeSelect_Title_Offset[1]);
TitleTextureKey.ResolveTitleTexture(_menu.ttkTitle, TJAPlayer3.Skin.Title_VerticalText)?.t2D中心基準描画(pos.X + BarAnimeX - BarMoveX + TJAPlayer3.Skin.Title_ModeSelect_Title_Offset[0], pos.Y + BarAnimeY - BarMoveY + TJAPlayer3.Skin.Title_ModeSelect_Title_Offset[1]);
}
}
}

View File

@ -190,7 +190,7 @@ namespace TJAPlayer3 {
#region [Dan grade title]
if (stバー情報[currentSong].eード種別 == CSongListNode.ENodeType.SCORE)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTextureTate(stバー情報[currentSong].ttkタイトル[stバー情報[currentSong].ttkタイトル.Length - 1])
TitleTextureKey.ResolveTitleTextureTate(stバー情報[currentSong].ttkタイトル[stバー情報[currentSong].ttkタイトル.Length - 1])
.t2D拡大率考慮上中央基準描画(xPos + TJAPlayer3.Skin.DaniSelect_Plate_Title_Offset[0], yPos + TJAPlayer3.Skin.DaniSelect_Plate_Title_Offset[1]);
#endregion
@ -337,7 +337,7 @@ namespace TJAPlayer3 {
}
TitleTextureKey ttkTmp = new TitleTextureKey(titleTmp.Substring(0, 2), pfDanPlateTitle, Color.White, Color.Black, 1000);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTextureTate(ttkTmp).t2D中心基準描画(x + TJAPlayer3.Skin.DaniSelect_DanPlateTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanPlateTitle_Offset[1]);
TitleTextureKey.ResolveTitleTextureTate(ttkTmp).t2D中心基準描画(x + TJAPlayer3.Skin.DaniSelect_DanPlateTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanPlateTitle_Offset[1]);
}
}
@ -374,10 +374,10 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.Dani_DanIcon.t2D拡大率考慮中央基準描画(x, y);
TJAPlayer3.Tx.Dani_DanIcon.Opacity = 255;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTmp).vcScaleRatio = new Vector3D<float>(scale, scale, 1.0f);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTmp).Opacity = opacity;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTmp).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTmp).Opacity = 255;
TitleTextureKey.ResolveTitleTexture(ttkTmp).vcScaleRatio = new Vector3D<float>(scale, scale, 1.0f);
TitleTextureKey.ResolveTitleTexture(ttkTmp).Opacity = opacity;
TitleTextureKey.ResolveTitleTexture(ttkTmp).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[0], y + TJAPlayer3.Skin.DaniSelect_DanIconTitle_Offset[1]);
TitleTextureKey.ResolveTitleTexture(ttkTmp).Opacity = 255;
}
private void tDrawDanSelectedLevel(float Anime, int modifier = 0) {
@ -445,7 +445,7 @@ namespace TJAPlayer3 {
tSoulDraw(scroll + Anime + TJAPlayer3.Skin.DaniSelect_Value_Gauge[0], TJAPlayer3.Skin.DaniSelect_Value_Gauge[1], stバー情報[currentSong].List_DanSongs[0].Dan_C[0].Value[0]);
//TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkExams[0]).t2D下中央基準描画((int)(scroll + 396 + Anime), 452);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkExams[0]).t2D拡大率考慮中央基準描画((int)(scroll + Anime) + TJAPlayer3.Skin.DaniSelect_Text_Gauge[0], TJAPlayer3.Skin.DaniSelect_Text_Gauge[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkExams[0]).t2D拡大率考慮中央基準描画((int)(scroll + Anime) + TJAPlayer3.Skin.DaniSelect_Text_Gauge[0], TJAPlayer3.Skin.DaniSelect_Text_Gauge[1]);
#endregion
@ -501,9 +501,9 @@ namespace TJAPlayer3 {
if (stバー情報[currentSong].ttkタイトル.Length - 1 > 3) {
opacity = getOpacity(i, sections_count);
}
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).Opacity = opacity;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).t2D描画(scroll + Anime + TJAPlayer3.Skin.DaniSelect_Title_X[pos], TJAPlayer3.Skin.DaniSelect_Title_Y[pos]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).Opacity = 255;
TitleTextureKey.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).Opacity = opacity;
TitleTextureKey.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).t2D描画(scroll + Anime + TJAPlayer3.Skin.DaniSelect_Title_X[pos], TJAPlayer3.Skin.DaniSelect_Title_Y[pos]);
TitleTextureKey.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[i]).Opacity = 255;
tDisplayDanIcon(i + 1, scroll + Anime + TJAPlayer3.Skin.DaniSelect_DanIcon_X[pos], TJAPlayer3.Skin.DaniSelect_DanIcon_Y[pos], opacity, 1.0f);
}
@ -648,7 +648,7 @@ namespace TJAPlayer3 {
#region [Exam title]
if (stバー情報[currentSong].List_DanSongs[0].Dan_C[j] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkExams[(int)stバー情報[currentSong].List_DanSongs[0].Dan_C[j].GetExamType()]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkExams[(int)stバー情報[currentSong].List_DanSongs[0].Dan_C[j].GetExamType()]);
tmpTex.Opacity = opacity;
//tmpTex.t2D下中央基準描画((int)(scroll + 614 + Anime), 452 + index * 88);
@ -669,10 +669,10 @@ namespace TJAPlayer3 {
case CSongListNode.ENodeType.BOX: {
TJAPlayer3.Tx.Dani_Bar_Folder_Back?.t2D描画(scroll + Anime, 0);
TJAPlayer3.Tx.Dani_Bar_Folder?.t2D描画(scroll + Anime, 0);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[0])
TitleTextureKey.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[0])
.t2D拡大率考慮上中央基準描画((int)(scroll + Anime + TJAPlayer3.Skin.DaniSelect_FolderText_X[0]), TJAPlayer3.Skin.DaniSelect_FolderText_Y[0]);
for (int desc = 1; desc < 4; desc++)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[desc])
TitleTextureKey.ResolveTitleTexture(stバー情報[currentSong].ttkタイトル[desc])
.t2D拡大率考慮上中央基準描画((int)(scroll + Anime + TJAPlayer3.Skin.DaniSelect_FolderText_X[desc]), TJAPlayer3.Skin.DaniSelect_FolderText_Y[desc]);
break;
}

View File

@ -17,9 +17,9 @@ namespace TJAPlayer3 {
ctStep = new CCounter(0, 1000, 2, TJAPlayer3.Timer);
ctStepFade = new CCounter(0, 255, 0.5, TJAPlayer3.Timer);
ttkExams = new CActSelect曲リスト.TitleTextureKey[(int)Exam.Type.Total];
ttkExams = new TitleTextureKey[(int)Exam.Type.Total];
for (int i = 0; i < ttkExams.Length; i++) {
ttkExams[i] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetExamName(i), pfExamFont, Color.Black, Color.Transparent, 700);
ttkExams[i] = new TitleTextureKey(CLangManager.LangInstance.GetExamName(i), pfExamFont, Color.Black, Color.Transparent, 700);
}
base.Activate();
@ -88,8 +88,8 @@ namespace TJAPlayer3 {
TJAPlayer3.stage段位選択..tLevelNumberDraw(TJAPlayer3.Skin.SongSelect_DanInfo_Level_Number_X[pos], TJAPlayer3.Skin.SongSelect_DanInfo_Level_Number_Y[pos], dan.Level, TJAPlayer3.Skin.SongSelect_DanInfo_Level_Number_Scale);
TJAPlayer3.Tx.Dani_Level_Number.Opacity = 255;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTitles[i]).Opacity = opacity;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTitles[i]).t2D描画(TJAPlayer3.Skin.SongSelect_DanInfo_Title_X[pos], TJAPlayer3.Skin.SongSelect_DanInfo_Title_Y[pos]);
TitleTextureKey.ResolveTitleTexture(ttkTitles[i]).Opacity = opacity;
TitleTextureKey.ResolveTitleTexture(ttkTitles[i]).t2D描画(TJAPlayer3.Skin.SongSelect_DanInfo_Title_X[pos], TJAPlayer3.Skin.SongSelect_DanInfo_Title_Y[pos]);
}
@ -99,7 +99,7 @@ namespace TJAPlayer3 {
Dan_C danc0 = TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs[0].Dan_C[j];
if (danc0 != null) {
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkExams[(int)danc0.GetExamType()]).t2D中心基準描画(TJAPlayer3.Skin.SongSelect_DanInfo_Exam_X[index], TJAPlayer3.Skin.SongSelect_DanInfo_Exam_Y[index]);
TitleTextureKey.ResolveTitleTexture(this.ttkExams[(int)danc0.GetExamType()]).t2D中心基準描画(TJAPlayer3.Skin.SongSelect_DanInfo_Exam_X[index], TJAPlayer3.Skin.SongSelect_DanInfo_Exam_Y[index]);
}
if (TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs[TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs.Count - 1].Dan_C[j] == null) {
@ -137,17 +137,17 @@ namespace TJAPlayer3 {
public void UpdateSong() {
if (TJAPlayer3.stageSongSelect.rNowSelectedSong == null || TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs == null) return;
ttkTitles = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs.Count];
ttkTitles = new TitleTextureKey[TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs.Count];
for (int i = 0; i < TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs.Count; i++) {
var dan = TJAPlayer3.stageSongSelect.rNowSelectedSong.DanSongs[i];
ttkTitles[i] = new CActSelect曲リスト.TitleTextureKey(dan.bTitleShow ? "???" : dan.Title, pfTitleFont, Color.Black, Color.Transparent, 700);
ttkTitles[i] = new TitleTextureKey(dan.bTitleShow ? "???" : dan.Title, pfTitleFont, Color.Black, Color.Transparent, 700);
}
}
#region [Private]
private CActSelect曲リスト.TitleTextureKey[] ttkTitles;
private CActSelect曲リスト.TitleTextureKey[] ttkExams;
private TitleTextureKey[] ttkTitles;
private TitleTextureKey[] ttkExams;
private CCachedFontRenderer pfTitleFont;
private CCachedFontRenderer pfExamFont;

View File

@ -49,10 +49,10 @@ namespace TJAPlayer3 {
}
if (TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongMaker != null && TJAPlayer3.Skin.SongSelect_Maker_Show) {
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongMaker).t2D拡大率考慮描画(CTexture.RefPnt.Left, TJAPlayer3.Skin.SongSelect_Maker[0], TJAPlayer3.Skin.SongSelect_Maker[1]);
TitleTextureKey.ResolveTitleTexture(TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongMaker).t2D拡大率考慮描画(CTexture.RefPnt.Left, TJAPlayer3.Skin.SongSelect_Maker[0], TJAPlayer3.Skin.SongSelect_Maker[1]);
}
if (TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongBPM != null && TJAPlayer3.Skin.SongSelect_BPM_Text_Show) {
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongBPM).t2D拡大率考慮描画(CTexture.RefPnt.Left, TJAPlayer3.Skin.SongSelect_BPM_Text[0], TJAPlayer3.Skin.SongSelect_BPM_Text[1]);
TitleTextureKey.ResolveTitleTexture(TJAPlayer3.stageSongSelect.actSongList.ttkSelectedSongBPM).t2D拡大率考慮描画(CTexture.RefPnt.Left, TJAPlayer3.Skin.SongSelect_BPM_Text[0], TJAPlayer3.Skin.SongSelect_BPM_Text[1]);
}
if (TJAPlayer3.stageSongSelect.rNowSelectedSong.bExplicit)
TJAPlayer3.Tx.SongSelect_Explicit?.t2D描画(TJAPlayer3.Skin.SongSelect_Explicit[0], TJAPlayer3.Skin.SongSelect_Explicit[1]);

View File

@ -1,6 +1,5 @@
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using FDK;
using Silk.NET.Maths;
using Color = System.Drawing.Color;
@ -81,52 +80,6 @@ namespace TJAPlayer3 {
// コンストラクタ
public CActSelect曲リスト() {
#region[ ]
STレベル数字[] stレベル数字Ar = new STレベル数字[10];
STレベル数字 st数字0 = new STレベル数字();
STレベル数字 st数字1 = new STレベル数字();
STレベル数字 st数字2 = new STレベル数字();
STレベル数字 st数字3 = new STレベル数字();
STレベル数字 st数字4 = new STレベル数字();
STレベル数字 st数字5 = new STレベル数字();
STレベル数字 st数字6 = new STレベル数字();
STレベル数字 st数字7 = new STレベル数字();
STレベル数字 st数字8 = new STレベル数字();
STレベル数字 st数字9 = new STレベル数字();
st数字0.ch = '0';
st数字1.ch = '1';
st数字2.ch = '2';
st数字3.ch = '3';
st数字4.ch = '4';
st数字5.ch = '5';
st数字6.ch = '6';
st数字7.ch = '7';
st数字8.ch = '8';
st数字9.ch = '9';
st数字0.ptX = 0;
st数字1.ptX = 21;
st数字2.ptX = 42;
st数字3.ptX = 63;
st数字4.ptX = 84;
st数字5.ptX = 105;
st数字6.ptX = 126;
st数字7.ptX = 147;
st数字8.ptX = 168;
st数字9.ptX = 189;
stレベル数字Ar[0] = st数字0;
stレベル数字Ar[1] = st数字1;
stレベル数字Ar[2] = st数字2;
stレベル数字Ar[3] = st数字3;
stレベル数字Ar[4] = st数字4;
stレベル数字Ar[5] = st数字5;
stレベル数字Ar[6] = st数字6;
stレベル数字Ar[7] = st数字7;
stレベル数字Ar[8] = st数字8;
stレベル数字Ar[9] = st数字9;
this.st小文字位置 = stレベル数字Ar;
#endregion
this.nSelectSongIndex = 0;
this.rCurrentlySelectedSong = null;
@ -452,7 +405,7 @@ namespace TJAPlayer3 {
CSongListNode song2 = this.rGetSideSong(i - barCenterNum);
int n = (((this.n現在の選択行 - barCenterNum) + i) + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
this.stバー情報[n].eバー種別 = this.e曲のバー種別を返す(song2);
this.stバー情報[n].ttkタイトル = this.ttk曲名テクスチャを生成する(this.stバー情報[n].strタイトル文字列, this.stバー情報[n].ForeColor, this.stバー情報[n].BackColor, stバー情報[n].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
this.stバー情報[n].ttkタイトル = this.ttkGenerateSongNameTexture(this.stバー情報[n].strタイトル文字列, this.stバー情報[n].ForeColor, this.stバー情報[n].BackColor, stバー情報[n].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
@ -588,7 +541,7 @@ namespace TJAPlayer3 {
int n = (((this.n現在の選択行 - barCenterNum) + i) + TJAPlayer3.Skin.SongSelect_Bar_Count) % TJAPlayer3.Skin.SongSelect_Bar_Count;
var song2 = this.rGetSideSong(i - barCenterNum);
this.stバー情報[n].eバー種別 = this.e曲のバー種別を返す(song2);
this.stバー情報[n].ttkタイトル = this.ttk曲名テクスチャを生成する(this.stバー情報[n].strタイトル文字列, this.stバー情報[n].ForeColor, this.stバー情報[n].BackColor, stバー情報[n].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
this.stバー情報[n].ttkタイトル = this.ttkGenerateSongNameTexture(this.stバー情報[n].strタイトル文字列, this.stバー情報[n].ForeColor, this.stバー情報[n].BackColor, stバー情報[n].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
@ -898,7 +851,7 @@ namespace TJAPlayer3 {
}
for (int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++) {
this.stバー情報[i].ttkタイトル = this.ttk曲名テクスチャを生成する(this.stバー情報[i].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
this.stバー情報[i].ttkタイトル = this.ttkGenerateSongNameTexture(this.stバー情報[i].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
base.Activate();
@ -916,7 +869,7 @@ namespace TJAPlayer3 {
TJAPlayer3.tDisposeSafely(ref pfBPM);
tResetTitleKey();
ClearTitleTextureCache();
//ClearTitleTextureCache();
this.ct三角矢印アニメ = null;
@ -1375,15 +1328,15 @@ namespace TJAPlayer3 {
#region [ ]
if (ctDifficultyIn.CurrentValue >= 1000 && TJAPlayer3.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect)
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
else
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = 255;
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = 255;
if (ctScrollCounter.CurrentValue != ctScrollCounter.EndValue)
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
xAnime - Box_X + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別), y - Box_Y + GetTitleOffsetY(this.stバー情報[nパネル番号].eバー種別));
else if (n見た目の行番号 != barCenterNum)
ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.stバー情報[nパネル番号].ttkタイトル, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
xAnime - Box_X + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別), y - Box_Y + GetTitleOffsetY(this.stバー情報[nパネル番号].eバー種別));
#endregion
@ -1946,9 +1899,9 @@ namespace TJAPlayer3 {
//-----------------
if (rCurrentlySelectedSong.ldTitle.GetString("") != "" && this.ttk選択している曲の曲名 == null)
this.ttk選択している曲の曲名 = this.ttk曲名テクスチャを生成する(rCurrentlySelectedSong.ldTitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
this.ttk選択している曲の曲名 = this.ttkGenerateSongNameTexture(rCurrentlySelectedSong.ldTitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor, rCurrentlySelectedSong.eード種別 == CSongListNode.ENodeType.BOX ? this.pfBoxName : this.pfMusicName);
if (rCurrentlySelectedSong.ldSubtitle.GetString("") != "" && this.ttk選択している曲のサブタイトル == null)
this.ttk選択している曲のサブタイトル = this.ttkサブタイトルテクスチャを生成する(rCurrentlySelectedSong.ldSubtitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
this.ttk選択している曲のサブタイトル = this.ttkGenerateSubtitleTexture(rCurrentlySelectedSong.ldSubtitle.GetString(""), rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
if (rCurrentlySelectedSong.strMaker != "" && this.ttkSelectedSongMaker == null)
this.ttkSelectedSongMaker = this.ttkGenerateMakerTexture(rCurrentlySelectedSong.strMaker, rCurrentlySelectedSong.ForeColor, rCurrentlySelectedSong.BackColor);
if (this.ttkSelectedSongBPM == null)
@ -1956,19 +1909,19 @@ namespace TJAPlayer3 {
if (this.ttk選択している曲のサブタイトル != null)
tx選択している曲のサブタイトル = ResolveTitleTexture(ttk選択している曲のサブタイトル, TJAPlayer3.Skin.SongSelect_VerticalText);
tx選択している曲のサブタイトル = TitleTextureKey.ResolveTitleTexture(ttk選択している曲のサブタイトル, TJAPlayer3.Skin.SongSelect_VerticalText);
//サブタイトルがあったら700
if (ttk選択している曲の曲名 != null) {
if (!ctBoxOpen.IsEnded)
ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)(ctBoxOpen.CurrentValue >= 1200 && ctBoxOpen.CurrentValue <= 1620 ? 255 - (ctBoxOpen.CurrentValue - 1200) * 2.55f :
ctBoxOpen.CurrentValue >= 2000 ? (ctBoxOpen.CurrentValue - 2000) * 2.55f : ctBoxOpen.CurrentValue <= 1200 ? 255 : 0);
else {
if (!TJAPlayer3.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect)
ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = 255;
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = 255;
else if (ctDifficultyIn.CurrentValue >= 1000)
ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).Opacity = (int)255.0f - (ctDifficultyIn.CurrentValue - 1000);
}
}
@ -1988,7 +1941,7 @@ namespace TJAPlayer3 {
y + TJAPlayer3.Skin.SongSelect_Bar_SubTitle_Offset[1] - (rCurrentlySelectedSong.eード種別 == CSongListNode.ENodeType.BOX ? centerMove : centerMove / 1.1f));
if (this.ttk選択している曲の曲名 != null) {
ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
xAnime + GetTitleOffsetX(rCurrentlySelectedSong.eード種別) +
(rCurrentlySelectedSong.eード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eード種別 == CSongListNode.ENodeType.BOX ? centerMoveX : centerMoveX / 1.1f) : 0),
@ -1997,7 +1950,7 @@ namespace TJAPlayer3 {
}
} else {
if (this.ttk選択している曲の曲名 != null) {
ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.ttk選択している曲の曲名, TJAPlayer3.Skin.SongSelect_VerticalText).t2D拡大率考慮中央基準描画(
xAnime + GetTitleOffsetX(this.stバー情報[nパネル番号].eバー種別) +
(rCurrentlySelectedSong.eード種別 != CSongListNode.ENodeType.BACKBOX ? (rCurrentlySelectedSong.eード種別 == CSongListNode.ENodeType.BOX ? centerMoveX : centerMoveX / 1.1f) : 0),
@ -2681,7 +2634,7 @@ namespace TJAPlayer3 {
for (int j = 0; j < 3; j++)
this.stバー情報[i].nスキル値[j] = (int)song.arスコア[this.n現在のアンカ難易度レベルに最も近い難易度レベルを返す(song)]..[j];
this.stバー情報[i].ttkタイトル = this.ttk曲名テクスチャを生成する(this.stバー情報[i].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
this.stバー情報[i].ttkタイトル = this.ttkGenerateSongNameTexture(this.stバー情報[i].strタイトル文字列, this.stバー情報[i].ForeColor, this.stバー情報[i].BackColor, stバー情報[i].eバー種別 == Eバー種別.Box ? this.pfBoxName : this.pfMusicName);
}
int _center = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2;
@ -2743,10 +2696,10 @@ namespace TJAPlayer3 {
}
TJAPlayer3.Tx.SongSelect_Bpm_Number?.tUpdateOpacity(opct);
if (ttkSelectedSongMaker != null && TJAPlayer3.Skin.SongSelect_Maker_Show) {
ResolveTitleTexture(ttkSelectedSongMaker)?.tUpdateOpacity(opct);
TitleTextureKey.ResolveTitleTexture(ttkSelectedSongMaker)?.tUpdateOpacity(opct);
}
if (ttkSelectedSongBPM != null && TJAPlayer3.Skin.SongSelect_BPM_Text_Show) {
ResolveTitleTexture(ttkSelectedSongBPM)?.tUpdateOpacity(opct);
TitleTextureKey.ResolveTitleTexture(ttkSelectedSongBPM)?.tUpdateOpacity(opct);
}
TJAPlayer3.Tx.SongSelect_Explicit?.tUpdateOpacity(opct);
TJAPlayer3.Tx.SongSelect_Movie?.tUpdateOpacity(opct);
@ -2920,46 +2873,11 @@ namespace TJAPlayer3 {
}
}
public int nStrジャンルtoNum(string strジャンル) {
return this.nStrジャンルtoNumBox(strジャンル);
}
public int nStrジャンルtoNumBox(string strジャンル) {
switch (strジャンル) {
case "ポップス":
case "J-POP":
case "POPS":
case "JPOP":
return 1;
case "アニメ":
return 2;
case "ボーカロイド":
case "VOCALOID":
return 8;
case "キッズ":
case "どうよう":
return 7;
case "バラエティ":
return 6;
case "クラシック":
return 5;
case "ゲームバラエティ":
case "ゲームミュージック":
return 3;
case "ナムコオリジナル":
return 4;
case "最近遊んだ曲":
return 9;
default:
return 0;
}
}
private TitleTextureKey ttk曲名テクスチャを生成する(string str文字, Color forecolor, Color backcolor, CCachedFontRenderer pf) {
private TitleTextureKey ttkGenerateSongNameTexture(string str文字, Color forecolor, Color backcolor, CCachedFontRenderer pf) {
return new TitleTextureKey(str文字, pf, forecolor, backcolor, TJAPlayer3.Skin.SongSelect_Title_MaxSize);
}
private TitleTextureKey ttkサブタイトルテクスチャを生成する(string str文字, Color forecolor, Color backcolor) {
private TitleTextureKey ttkGenerateSubtitleTexture(string str文字, Color forecolor, Color backcolor) {
return new TitleTextureKey(str文字, pfSubtitle, forecolor, backcolor, TJAPlayer3.Skin.SongSelect_SubTitle_MaxSize);
}
@ -2990,162 +2908,6 @@ namespace TJAPlayer3 {
return new TitleTextureKey(bpm_str, pfBPM, _color, backcolor, TJAPlayer3.Skin.SongSelect_BPM_Text_MaxSize);
}
public CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
texture = GenerateTitleTexture(titleTextureKey);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
public CTexture ResolveTitleTexture(TitleTextureKey titleTextureKey, bool bVertical, bool keepCenter = false) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
if (bVertical)
texture = GenerateTitleTextureTate(titleTextureKey, keepCenter);
else
texture = GenerateTitleTexture(titleTextureKey, keepCenter);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
public CTexture ResolveTitleTextureTate(TitleTextureKey titleTextureKey) {
if (!_titledictionary.TryGetValue(titleTextureKey, out var texture)) {
texture = GenerateTitleTextureTate(titleTextureKey);
_titledictionary.Add(titleTextureKey, texture);
}
return texture;
}
private static CTexture GenerateTitleTextureTate(TitleTextureKey titleTextureKey, bool keepCenter = false) {
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText_V(
titleTextureKey.str文字, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
CTexture tx文字テクスチャ = TJAPlayer3.tテクスチャの生成(bmp, false);
if (tx文字テクスチャ.szTextureSize.Height > titleTextureKey.maxWidth) {
//tx文字テクスチャ.vc拡大縮小倍率.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Height);
tx文字テクスチャ.vcScaleRatio.X = 1.0f;
tx文字テクスチャ.vcScaleRatio.Y = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Height);
}
return tx文字テクスチャ;
}
}
private static CTexture GenerateTitleTexture(TitleTextureKey titleTextureKey, bool keepCenter = false) {
using (var bmp = titleTextureKey.cPrivateFastFont.DrawText(
titleTextureKey.str文字, titleTextureKey.forecolor, titleTextureKey.backcolor, titleTextureKey.secondEdge, 30, keepCenter)) {
CTexture tx文字テクスチャ = TJAPlayer3.tテクスチャの生成(bmp, false);
if (tx文字テクスチャ.szTextureSize.Width > titleTextureKey.maxWidth) {
tx文字テクスチャ.vcScaleRatio.X = (float)(((double)titleTextureKey.maxWidth) / tx文字テクスチャ.szTextureSize.Width);
tx文字テクスチャ.vcScaleRatio.Y = 1.0f;// (float) (((double) titleTextureKey.maxWidth) / tx文字テクスチャ.szテクスチャサイズ.Width);
}
return tx文字テクスチャ;
}
}
private void ClearTitleTextureCache() {
foreach (var titleTexture in _titledictionary.Values) {
titleTexture.Dispose();
}
_titledictionary.Clear();
}
public sealed class TitleTextureKey {
public readonly string str文字;
public readonly CCachedFontRenderer cPrivateFastFont;
public readonly Color forecolor;
public readonly Color backcolor;
public readonly int maxWidth;
public readonly Color? secondEdge;
public TitleTextureKey(string str文字, CCachedFontRenderer cPrivateFastFont, Color forecolor, Color backcolor, int maxHeight, Color? secondEdge = null) {
this.str文字 = str文字;
this.cPrivateFastFont = cPrivateFastFont;
this.forecolor = forecolor;
this.backcolor = backcolor;
this.maxWidth = maxHeight;
this.secondEdge = secondEdge;
}
private bool Equals(TitleTextureKey other) {
return string.Equals(str文字, other.str文字) &&
cPrivateFastFont.Equals(other.cPrivateFastFont) &&
forecolor.Equals(other.forecolor) &&
backcolor.Equals(other.backcolor) &&
secondEdge.Equals(other.secondEdge) &&
maxWidth == other.maxWidth;
}
public override bool Equals(object obj) {
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
return obj is TitleTextureKey other && Equals(other);
}
public override int GetHashCode() {
unchecked {
var hashCode = str文字.GetHashCode();
hashCode = (hashCode * 397) ^ cPrivateFastFont.GetHashCode();
hashCode = (hashCode * 397) ^ forecolor.GetHashCode();
hashCode = (hashCode * 397) ^ backcolor.GetHashCode();
hashCode = (hashCode * 397) ^ maxWidth;
if (secondEdge != null)
hashCode = (hashCode * 397) ^ secondEdge.GetHashCode();
return hashCode;
}
}
public static bool operator ==(TitleTextureKey left, TitleTextureKey right) {
return Equals(left, right);
}
public static bool operator !=(TitleTextureKey left, TitleTextureKey right) {
return !Equals(left, right);
}
}
private void tアイテム数の描画() {
string s = nCurrentPosition.ToString() + "/" + nNumOfItems.ToString();
int x = 639 - 8 - 12;
int y = 362;
for (int p = s.Length - 1; p >= 0; p--) {
tアイテム数の描画_桁描画(x, y, s[p]);
x -= 8;
}
}
private void tアイテム数の描画_桁描画(int x, int y, char s数値) {
int dx, dy;
if (s数値 == '/') {
dx = 48;
dy = 0;
} else {
int n = (int)s数値 - (int)'0';
dx = (n % 6) * 8;
dy = (n / 6) * 12;
}
//if ( this.txアイテム数数字 != null )
//{
// this.txアイテム数数字.t2D描画( CDTXMania.app.Device, x, y, new Rectangle( dx, dy, 8, 12 ) );
//}
}
//数字フォント
private CTexture txレベル数字フォント;
[StructLayout(LayoutKind.Sequential)]
private struct STレベル数字 {
public char ch;
public int ptX;
}
private STレベル数字[] st小文字位置 = new STレベル数字[10];
private void tResetTitleTextureKey() {
if (this.ttk選択している曲の曲名 != null) {

View File

@ -544,9 +544,6 @@ namespace TJAPlayer3 {
return bOption[0] || bOption[1] || bOption[2] || bOption[3] || bOption[4];
}
public int nStrジャンルtoNum(string strジャンル) {
return TJAPlayer3.stageSongSelect.actSongList.nStrジャンルtoNumBox(strジャンル);
}
//-----------------
#endregion
}

View File

@ -4,7 +4,6 @@ using System.Runtime.InteropServices;
using System.Text;
using DiscordRPC;
using FDK;
using static TJAPlayer3.CActSelect曲リスト;
namespace TJAPlayer3 {
/*
@ -471,9 +470,9 @@ namespace TJAPlayer3 {
if (HiddenIndex != DBSongUnlockables.EHiddenIndex.GRAYED) {
actSongInfo.Draw();
if (TJAPlayer3.stageSongSelect.n現在選択中の曲の難易度 == (int)Difficulty.Dan) {
if (this.n現在選択中の曲の難易度 == (int)Difficulty.Dan) {
actDanInfo.Draw();
} else if (TJAPlayer3.stageSongSelect.n現在選択中の曲の難易度 == (int)Difficulty.Tower) {
} else if (this.n現在選択中の曲の難易度 == (int)Difficulty.Tower) {
actTowerInfo.Draw();
} else {
}
@ -522,7 +521,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.SongSelect_Unlock_Conditions?.t2D描画(0, 0);
if (actSongList.ttkNowUnlockConditionText is not null) {
actSongList.ResolveTitleTexture(actSongList.ttkNowUnlockConditionText)?.t2D描画(TJAPlayer3.Skin.SongSelect_Unlock_Conditions_Text[0], TJAPlayer3.Skin.SongSelect_Unlock_Conditions_Text[1]);
TitleTextureKey.ResolveTitleTexture(actSongList.ttkNowUnlockConditionText)?.t2D描画(TJAPlayer3.Skin.SongSelect_Unlock_Conditions_Text[0], TJAPlayer3.Skin.SongSelect_Unlock_Conditions_Text[1]);
}
}
}
@ -1661,9 +1660,6 @@ namespace TJAPlayer3 {
}
}
public int nStrジャンルtoNum(string strジャンル) {
return this.actSongList.nStrジャンルtoNumBox(strジャンル);
}
//-----------------
#endregion
}

View File

@ -199,7 +199,7 @@ namespace TJAPlayer3 {
if (this.txGENRE != null) {
this.txGENRE.t2D描画(TJAPlayer3.Skin.Game_Genre_X, TJAPlayer3.Skin.Game_Genre_Y);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkGENRE).t2D拡大率考慮中央基準描画(TJAPlayer3.Skin.Game_Genre_X + TJAPlayer3.Skin.Game_GenreText_Offset[0], TJAPlayer3.Skin.Game_Genre_Y + TJAPlayer3.Skin.Game_GenreText_Offset[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkGENRE).t2D拡大率考慮中央基準描画(TJAPlayer3.Skin.Game_Genre_X + TJAPlayer3.Skin.Game_GenreText_Offset[0], TJAPlayer3.Skin.Game_Genre_Y + TJAPlayer3.Skin.Game_GenreText_Offset[1]);
}
if (this.txStage != null)
this.txStage.t2D描画(TJAPlayer3.Skin.Game_Genre_X, TJAPlayer3.Skin.Game_Genre_Y);

View File

@ -224,8 +224,8 @@ namespace TJAPlayer3 {
#region [Tower background informations]
if (TJAPlayer3.stageSongSelect.nChoosenSongDifficulty[0] == (int)Difficulty.Tower) {
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.Skin.Game_Tower_Font_TouTatsuKaiSuu[0], TJAPlayer3.Skin.Game_Tower_Font_TouTatsuKaiSuu[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.Skin.Game_Tower_Font_Kai[0], TJAPlayer3.Skin.Game_Tower_Font_Kai[1]);
TitleTextureKey.ResolveTitleTexture(ttkTouTatsuKaiSuu).t2D描画(TJAPlayer3.Skin.Game_Tower_Font_TouTatsuKaiSuu[0], TJAPlayer3.Skin.Game_Tower_Font_TouTatsuKaiSuu[1]);
TitleTextureKey.ResolveTitleTexture(ttkKai).t2D描画(TJAPlayer3.Skin.Game_Tower_Font_Kai[0], TJAPlayer3.Skin.Game_Tower_Font_Kai[1]);
this.ct炎.TickLoop();
CFloorManagement.loopFrames();

View File

@ -902,7 +902,7 @@ namespace TJAPlayer3 {
new Rectangle(0, 0, TJAPlayer3.Skin.Game_DanC_ExamType_Size[0], TJAPlayer3.Skin.Game_DanC_ExamType_Size[1]));
if ((int)dan_C[i].GetExamType() < this.ttkExams.Length)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkExams[(int)dan_C[i].GetExamType()]).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.ttkExams[(int)dan_C[i].GetExamType()]).t2D拡大率考慮中央基準描画(
_examX + TJAPlayer3.Skin.Game_DanC_ExamType_Size[0] / 2,
_examY - TJAPlayer3.Skin.Game_DanC_ExamType_Size[1] / 2);
@ -941,7 +941,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Skin.Game_DanC_X[0] - ((50 - dan_C[i].GetValue(false) / 2) * _scale) + 4,
TJAPlayer3.Skin.Game_DanC_Y[0]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkExams[(int)Exam.Type.Gauge]).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(this.ttkExams[(int)Exam.Type.Gauge]).t2D拡大率考慮中央基準描画(
TJAPlayer3.Skin.Game_DanC_X[0] - ((50 - dan_C[i].GetValue(false) / 2) * _scale) + _offexX,
TJAPlayer3.Skin.Game_DanC_Y[0] + _offexY);

View File

@ -180,20 +180,20 @@ namespace TJAPlayer3 {
public override void Activate() {
this.sdDTXで指定されたフルコンボ音 = null;
ttkAISection = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.stage演奏ドラム画面.AIBattleSections.Count];
ttkAISection = new TitleTextureKey[TJAPlayer3.stage演奏ドラム画面.AIBattleSections.Count];
for (int i = 0; i < ttkAISection.Length; i++) {
ttkAISection[i] = new CActSelect曲リスト.TitleTextureKey($"{i + 1}区", pfAISectionText, Color.White, Color.Black, 1280);
ttkAISection[i] = new TitleTextureKey($"{i + 1}区", pfAISectionText, Color.White, Color.Black, 1280);
}
for (int i = 0; i < 5; i++) {
ttkSpeechText[i] = new CActSelect曲リスト.TitleTextureKey[6];
ttkSpeechText[i] = new TitleTextureKey[6];
int _charaId = TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(i)].data.Character;
for (int j = 0; j < 6; j++) {
// { "simplestyleSweat", "...", "○", "◎", "★", "!!!!" }
ttkSpeechText[i][j] = new CActSelect曲リスト.TitleTextureKey(
ttkSpeechText[i][j] = new TitleTextureKey(
TJAPlayer3.Tx.Characters[_charaId].metadata.SpeechText[j].GetString(""),
pfSpeechText, Color.White, Color.Black, TJAPlayer3.Skin.Result_Speech_Text_MaxWidth);
}
@ -642,13 +642,13 @@ namespace TJAPlayer3 {
if (nowIndex == nNowAISection) {
TJAPlayer3.Tx.Result_AIBattle_Batch.Opacity = opacityCounter;
TJAPlayer3.Tx.Result_AIBattle_SectionPlate.Opacity = opacityCounter;
if (TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkAISection[i]) != null)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkAISection[i]).Opacity = opacityCounter;
if (TitleTextureKey.ResolveTitleTexture(ttkAISection[i]) != null)
TitleTextureKey.ResolveTitleTexture(ttkAISection[i]).Opacity = opacityCounter;
} else {
TJAPlayer3.Tx.Result_AIBattle_Batch.Opacity = 255 - opacityCounter;
TJAPlayer3.Tx.Result_AIBattle_SectionPlate.Opacity = 255 - opacityCounter;
if (TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkAISection[i]) != null)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkAISection[i]).Opacity = 255 - opacityCounter;
if (TitleTextureKey.ResolveTitleTexture(ttkAISection[i]) != null)
TitleTextureKey.ResolveTitleTexture(ttkAISection[i]).Opacity = 255 - opacityCounter;
}
TJAPlayer3.Tx.Result_AIBattle_Batch.t2D描画(x, y, new RectangleF(batch_width * 0, 0, batch_width, batch_height));
@ -666,7 +666,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.Result_AIBattle_SectionPlate.t2D描画(x + TJAPlayer3.Skin.Result_AIBattle_SectionPlate_Offset[0], y + TJAPlayer3.Skin.Result_AIBattle_SectionPlate_Offset[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkAISection[i])?.t2D中心基準描画(x + TJAPlayer3.Skin.Result_AIBattle_SectionText_Offset[0], y + TJAPlayer3.Skin.Result_AIBattle_SectionText_Offset[1]);
TitleTextureKey.ResolveTitleTexture(ttkAISection[i])?.t2D中心基準描画(x + TJAPlayer3.Skin.Result_AIBattle_SectionText_Offset[0], y + TJAPlayer3.Skin.Result_AIBattle_SectionText_Offset[1]);
}
if (ctMainCounter.CurrentValue >= MountainAppearValue) {
@ -944,9 +944,9 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.Result_Speech_Bubble_V2[speech_vubble_index].t2D拡大率考慮中央基準描画(speech_bubble_x, speech_bubble_y,
new Rectangle(0, MoodV2 * speechBuddle_height, speechBuddle_width, speechBuddle_height));
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vcScaleRatio.X = scale;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vcScaleRatio.Y = scale;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).t2D拡大率考慮中央基準描画(
TitleTextureKey.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vcScaleRatio.X = scale;
TitleTextureKey.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).vcScaleRatio.Y = scale;
TitleTextureKey.ResolveTitleTexture(ttkSpeechText[p][MoodV2]).t2D拡大率考慮中央基準描画(
speech_bubble_x + (int)(TJAPlayer3.Skin.Result_Speech_Text_Offset[0] * scale),
speech_bubble_y + (int)(TJAPlayer3.Skin.Result_Speech_Text_Offset[1] * scale));
}
@ -1165,9 +1165,9 @@ namespace TJAPlayer3 {
private readonly ST文字位置[] st大文字位置;
private ST文字位置[] stScoreFont;
private CActSelect曲リスト.TitleTextureKey[] ttkAISection;
private TitleTextureKey[] ttkAISection;
private CActSelect曲リスト.TitleTextureKey[][] ttkSpeechText = new CActSelect曲リスト.TitleTextureKey[5][];
private TitleTextureKey[][] ttkSpeechText = new TitleTextureKey[5][];
private CCachedFontRenderer pfSpeechText;
private CCachedFontRenderer pfAISectionText;

View File

@ -1275,14 +1275,14 @@ namespace TJAPlayer3 {
#region [Text elements]
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkToutatsu)?.t2D描画(TJAPlayer3.Skin.TowerResult_Toutatsu[0], TJAPlayer3.Skin.TowerResult_Toutatsu[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkMaxFloors)?.t2D描画(TJAPlayer3.Skin.TowerResult_MaxFloors[0], TJAPlayer3.Skin.TowerResult_MaxFloors[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkTen)?.t2D描画(TJAPlayer3.Skin.TowerResult_Ten[0], TJAPlayer3.Skin.TowerResult_Ten[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkScore)?.t2D描画(TJAPlayer3.Skin.TowerResult_Score[0], TJAPlayer3.Skin.TowerResult_Score[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkToutatsu)?.t2D描画(TJAPlayer3.Skin.TowerResult_Toutatsu[0], TJAPlayer3.Skin.TowerResult_Toutatsu[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkMaxFloors)?.t2D描画(TJAPlayer3.Skin.TowerResult_MaxFloors[0], TJAPlayer3.Skin.TowerResult_MaxFloors[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkTen)?.t2D描画(TJAPlayer3.Skin.TowerResult_Ten[0], TJAPlayer3.Skin.TowerResult_Ten[1]);
TitleTextureKey.ResolveTitleTexture(this.ttkScore)?.t2D描画(TJAPlayer3.Skin.TowerResult_Score[0], TJAPlayer3.Skin.TowerResult_Score[1]);
CTexture tmpScoreCount = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkScoreCount);
CTexture tmpCurrentFloor = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkReachedFloor);
CTexture tmpRemainingLifes = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkRemaningLifes);
CTexture tmpScoreCount = TitleTextureKey.ResolveTitleTexture(this.ttkScoreCount);
CTexture tmpCurrentFloor = TitleTextureKey.ResolveTitleTexture(this.ttkReachedFloor);
CTexture tmpRemainingLifes = TitleTextureKey.ResolveTitleTexture(this.ttkRemaningLifes);
tmpCurrentFloor?.t2D描画(TJAPlayer3.Skin.TowerResult_CurrentFloor[0] - tmpCurrentFloor.szTextureSize.Width, TJAPlayer3.Skin.TowerResult_CurrentFloor[1]);
tmpScoreCount?.t2D描画(TJAPlayer3.Skin.TowerResult_ScoreCount[0] - tmpScoreCount.szTextureSize.Width, TJAPlayer3.Skin.TowerResult_ScoreCount[1]);
@ -1628,8 +1628,8 @@ namespace TJAPlayer3 {
this.actParameterPanel.t小文字表示(num_x[j] + offset, num_y[j], scoresArr[j], 1.0f);
TJAPlayer3.Tx.Result_Number.Opacity = 255;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkDanTitles[i]).Opacity = opacity;
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkDanTitles[i]).t2D描画(TJAPlayer3.Skin.DanResult_DanTitles_X[drawPos] + offset, TJAPlayer3.Skin.DanResult_DanTitles_Y[drawPos]);
TitleTextureKey.ResolveTitleTexture(this.ttkDanTitles[i]).Opacity = opacity;
TitleTextureKey.ResolveTitleTexture(this.ttkDanTitles[i]).t2D描画(TJAPlayer3.Skin.DanResult_DanTitles_X[drawPos] + offset, TJAPlayer3.Skin.DanResult_DanTitles_Y[drawPos]);
CActSelect段位リスト.tDisplayDanIcon(i + 1, TJAPlayer3.Skin.DanResult_DanIcon_X[drawPos] + offset, TJAPlayer3.Skin.DanResult_DanIcon_Y[drawPos], opacity, 1.0f);

View File

@ -62,7 +62,7 @@ namespace TJAPlayer3 {
}
TJAPlayer3.Tx.Heya_Description_Panel?.t2D描画(0, 0);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkDescription).t2D描画(XOrigin, YOrigin);
TitleTextureKey.ResolveTitleTexture(ttkDescription).t2D描画(XOrigin, YOrigin);
}
public static void DisplayPuchicharaInfo(CCachedFontRenderer pf, CPuchichara puchi) {
@ -87,7 +87,7 @@ namespace TJAPlayer3 {
}
TJAPlayer3.Tx.Heya_Description_Panel?.t2D描画(0, 0);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkDescription).t2D描画(XOrigin, YOrigin);
TitleTextureKey.ResolveTitleTexture(ttkDescription).t2D描画(XOrigin, YOrigin);
}
public static void DisplayNameplateTitleInfo(CCachedFontRenderer pf) {

View File

@ -181,7 +181,7 @@ namespace TJAPlayer3 {
#region [Main menu (Side bar)]
for (int i = 0; i < this.ttkMainMenuOpt.Length; i++) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkMainMenuOpt[i]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkMainMenuOpt[i]);
if (iCurrentMenu != -1 || iMainMenuCurrent != i) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -267,14 +267,14 @@ namespace TJAPlayer3 {
#region [Database related values]
if (ttkPuchiCharaNames[pos] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkPuchiCharaNames[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkPuchiCharaNames[pos]);
tmpTex.t2D拡大率考慮上中央基準描画(scroll.Item1 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Name_Offset[0],
scroll.Item2 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Name_Offset[1]);
}
if (ttkPuchiCharaAuthors[pos] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkPuchiCharaAuthors[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkPuchiCharaAuthors[pos]);
tmpTex.t2D拡大率考慮上中央基準描画(scroll.Item1 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Authors_Offset[0],
scroll.Item2 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Authors_Offset[1]);
@ -331,14 +331,14 @@ namespace TJAPlayer3 {
#region [Database related values]
if (ttkCharacterNames[pos] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkCharacterNames[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkCharacterNames[pos]);
tmpTex.t2D拡大率考慮上中央基準描画(scroll.Item1 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Name_Offset[0],
scroll.Item2 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Name_Offset[1]);
}
if (ttkCharacterAuthors[pos] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkCharacterAuthors[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkCharacterAuthors[pos]);
tmpTex.t2D拡大率考慮上中央基準描画(scroll.Item1 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Authors_Offset[0],
scroll.Item2 + TJAPlayer3.Skin.Heya_Center_Menu_Box_Authors_Offset[1]);
@ -360,7 +360,7 @@ namespace TJAPlayer3 {
for (int i = -(TJAPlayer3.Skin.Heya_Side_Menu_Count / 2); i < (TJAPlayer3.Skin.Heya_Side_Menu_Count / 2) + 1; i++) {
int pos = (this.ttkDanTitles.Length * 5 + iDanTitleCurrent + i) % this.ttkDanTitles.Length;
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkDanTitles[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkDanTitles[pos]);
if (i != 0) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -401,7 +401,7 @@ namespace TJAPlayer3 {
for (int i = -(TJAPlayer3.Skin.Heya_Side_Menu_Count / 2); i < (TJAPlayer3.Skin.Heya_Side_Menu_Count / 2) + 1; i++) {
int pos = (this.ttkTitles.Length * 5 + iTitleCurrent + i) % this.ttkTitles.Length;
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkTitles[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkTitles[pos]);
if (i != 0) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -456,7 +456,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.Heya_Box?.t2D描画(0, 0);
if (this.ttkInfoSection != null)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkInfoSection)
TitleTextureKey.ResolveTitleTexture(this.ttkInfoSection)
.t2D拡大率考慮上中央基準描画(TJAPlayer3.Skin.Heya_InfoSection[0], TJAPlayer3.Skin.Heya_InfoSection[1]);
#endregion

View File

@ -173,7 +173,7 @@ namespace TJAPlayer3 {
int baseY = TJAPlayer3.Skin.OnlineLounge_Side_Menu[1] - _ref.Length * (TJAPlayer3.Skin.OnlineLounge_Side_Menu_Move[1] / 2);
for (int i = 0; i < _ref.Length; i++) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_ref[i]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(_ref[i]);
if (_selector != i) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -205,8 +205,8 @@ namespace TJAPlayer3 {
for (int i = -4; i < 4; i++) {
int pos = (_ref.Length * 5 + _selector + i) % _ref.Length;
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(_ref[pos]);
CTexture tmpSubtitle = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkCDNSongSubtitles[pos]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(_ref[pos]);
CTexture tmpSubtitle = TitleTextureKey.ResolveTitleTexture(ttkCDNSongSubtitles[pos]);
var _color = CConversion.ColorToColor4(Color.DarkGray);
@ -258,7 +258,7 @@ namespace TJAPlayer3 {
#region [Charter Name]
if (song_.charter != null && song_.charter.charter_name != null && song_.charter.charter_name != "") {
var charter_ = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
var charter_ = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey("Charter : " + song_.charter.charter_name, this.pfOLFontLarge, Color.White, Color.Black, 1000));
charter_?.t2D中心基準描画(TJAPlayer3.Skin.OnlineLounge_Context_Charter[0], TJAPlayer3.Skin.OnlineLounge_Context_Charter[1]);
}
@ -268,7 +268,7 @@ namespace TJAPlayer3 {
#region [Song Genre]
if (song_.Genre != null && song_.Genre.genre != null && song_.Genre.genre != "") {
var genre_ = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
var genre_ = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey(song_.Genre.genre, this.pfOLFontLarge, Color.White, Color.Black, 1000));
genre_?.t2D中心基準描画(TJAPlayer3.Skin.OnlineLounge_Context_Genre[0], TJAPlayer3.Skin.OnlineLounge_Context_Genre[1]);
}
@ -288,7 +288,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Skin.OnlineLounge_Context_Couse_Symbol[0] + column,
TJAPlayer3.Skin.OnlineLounge_Context_Couse_Symbol[1] + row);
var difnb_ = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
var difnb_ = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey(diff.ToString(), this.pfOLFontLarge, (diff > 10) ? Color.Red : Color.White, Color.Black, 1000));
difnb_?.t2D中心基準描画(TJAPlayer3.Skin.OnlineLounge_Context_Level[0] + column, TJAPlayer3.Skin.OnlineLounge_Context_Level[1] + row);
}
@ -308,7 +308,7 @@ namespace TJAPlayer3 {
if (IsDownloading) {
TJAPlayer3.Tx.OnlineLounge_Box.t2D描画(0, 0);
var text = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
var text = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey("Downloading...", this.pfOLFontLarge, Color.White, Color.Black, 1000));
text.t2D中心基準描画(TJAPlayer3.Skin.OnlineLounge_Downloading[0], TJAPlayer3.Skin.OnlineLounge_Downloading[1]);
}

View File

@ -170,8 +170,8 @@ namespace TJAPlayer3 {
public string strTitle;
public string strSubTitle;
public CSongListNode.ENodeType eード種別;
public CActSelect曲リスト.TitleTextureKey ttkTitle;
public CActSelect曲リスト.TitleTextureKey ttkSubTitle;
public TitleTextureKey ttkTitle;
public TitleTextureKey ttkSubTitle;
}
public void tSelectSong() {
@ -247,8 +247,8 @@ namespace TJAPlayer3 {
break;
}
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(barInfo.ttkTitle).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.TowerSelect_Title_Offset[0], y + TJAPlayer3.Skin.TowerSelect_Title_Offset[1]);
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(barInfo.ttkSubTitle).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.TowerSelect_SubTitle_Offset[0], y + TJAPlayer3.Skin.TowerSelect_SubTitle_Offset[1]);
TitleTextureKey.ResolveTitleTexture(barInfo.ttkTitle).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.TowerSelect_Title_Offset[0], y + TJAPlayer3.Skin.TowerSelect_Title_Offset[1]);
TitleTextureKey.ResolveTitleTexture(barInfo.ttkSubTitle).t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.TowerSelect_SubTitle_Offset[0], y + TJAPlayer3.Skin.TowerSelect_SubTitle_Offset[1]);
}
private void tUpdateBarInfos() {
@ -278,8 +278,8 @@ namespace TJAPlayer3 {
bar.strSubTitle = song.ldSubtitle.GetString("");
bar.eード種別 = song.eード種別;
bar.ttkTitle = new CActSelect曲リスト.TitleTextureKey(bar.strTitle, pfTitleFont, Color.Black, Color.Transparent, TJAPlayer3.Skin.TowerSelect_Title_MaxWidth);
bar.ttkSubTitle = new CActSelect曲リスト.TitleTextureKey(bar.strSubTitle, pfTitleFont, Color.Black, Color.Transparent, TJAPlayer3.Skin.TowerSelect_SubTitle_MaxWidth);
bar.ttkTitle = new TitleTextureKey(bar.strTitle, pfTitleFont, Color.Black, Color.Transparent, TJAPlayer3.Skin.TowerSelect_Title_MaxWidth);
bar.ttkSubTitle = new TitleTextureKey(bar.strSubTitle, pfTitleFont, Color.Black, Color.Transparent, TJAPlayer3.Skin.TowerSelect_SubTitle_MaxWidth);
}
}

View File

@ -73,14 +73,14 @@ namespace TJAPlayer3 {
Submenus = new (int, CTexture)[_count];
Submenus[0].Item1 = -1;
Submenus[0].Item2 = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
Submenus[0].Item2 = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey(CLangManager.LangInstance.GetString("MENU_RETURN"), _pfEncyclopediaMenu, Color.White, Color.Brown, 1000));
for (int i = 1; i < _count; i++) {
int _idx = i - 1; // Excluding return
var _menu = _current.Menus[_idx];
Submenus[i].Item1 = _menu.Key;
Submenus[i].Item2 = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
Submenus[i].Item2 = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey(_GetSectionContents(_menu.Key, true), _pfEncyclopediaMenu, Color.White, Color.Brown, 1000));
}
}
@ -99,7 +99,7 @@ namespace TJAPlayer3 {
for (int i = 0; i < _count; i++) {
var _page = _current.Pages[i];
Pages[i].Item1 = _page;
Pages[i].Item2 = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
Pages[i].Item2 = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey(_GetSectionContents(_page, false), _pfEncyclopediaMenu, Color.White, Color.Brown, 1000));
Pages[i].Item3 = TJAPlayer3.tテクスチャの生成(_GetImagePath(_page));
}
@ -168,7 +168,7 @@ namespace TJAPlayer3 {
#region [private utils methods]
private void tUpdatePageIndex() {
PageText = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(
PageText = TitleTextureKey.ResolveTitleTexture(
new TitleTextureKey((PageIndex + 1).ToString() + "/" + Pages.Length.ToString(), _pfEncyclopediaMenu, Color.White, Color.Brown, 1000));
}

View File

@ -6,14 +6,14 @@ namespace TJAPlayer3 {
public bool IsOpend { get; private set; }
private CCachedFontRenderer MenuFont;
private CActSelect曲リスト.TitleTextureKey[] MenuTitleKeys = new CActSelect曲リスト.TitleTextureKey[5];
private CActSelect曲リスト.TitleTextureKey[] ttkPuchiCharaNames;
private CActSelect曲リスト.TitleTextureKey[] ttkPuchiCharaAuthors;
private CActSelect曲リスト.TitleTextureKey[] ttkCharacterNames;
private CActSelect曲リスト.TitleTextureKey[] ttkCharacterAuthors;
private CActSelect曲リスト.TitleTextureKey ttkInfoSection;
private CActSelect曲リスト.TitleTextureKey[] ttkDanTitles;
private CActSelect曲リスト.TitleTextureKey[] ttkTitles;
private TitleTextureKey[] MenuTitleKeys = new TitleTextureKey[5];
private TitleTextureKey[] ttkPuchiCharaNames;
private TitleTextureKey[] ttkPuchiCharaAuthors;
private TitleTextureKey[] ttkCharacterNames;
private TitleTextureKey[] ttkCharacterAuthors;
private TitleTextureKey ttkInfoSection;
private TitleTextureKey[] ttkDanTitles;
private TitleTextureKey[] ttkTitles;
private string[] titlesKeys;
public CCounter InFade;
@ -69,18 +69,18 @@ namespace TJAPlayer3 {
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles.Count;
this.ttkDanTitles = new CActSelect曲リスト.TitleTextureKey[amount];
this.ttkDanTitles = new TitleTextureKey[amount];
// Silver Shinjin (default rank) always avaliable by default
this.ttkDanTitles[0] = new CActSelect曲リスト.TitleTextureKey("新人", this.MenuFont, Color.White, Color.Black, 1000);
this.ttkDanTitles[0] = new TitleTextureKey("新人", this.MenuFont, Color.White, Color.Black, 1000);
int idx = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles != null) {
foreach (var item in TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles) {
if (item.Value.isGold == true)
this.ttkDanTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Key, this.MenuFont, Color.Gold, Color.Black, 1000);
this.ttkDanTitles[idx] = new TitleTextureKey(item.Key, this.MenuFont, Color.Gold, Color.Black, 1000);
else
this.ttkDanTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Key, this.MenuFont, Color.White, Color.Black, 1000);
this.ttkDanTitles[idx] = new TitleTextureKey(item.Key, this.MenuFont, Color.White, Color.Black, 1000);
idx++;
}
}
@ -93,17 +93,17 @@ namespace TJAPlayer3 {
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.Count;
this.ttkTitles = new CActSelect曲リスト.TitleTextureKey[amount];
this.ttkTitles = new TitleTextureKey[amount];
this.titlesKeys = new string[amount];
// Wood shojinsha (default title) always avaliable by default
this.ttkTitles[0] = new CActSelect曲リスト.TitleTextureKey("初心者", this.MenuFont, Color.Black, Color.Transparent, 1000);
this.ttkTitles[0] = new TitleTextureKey("初心者", this.MenuFont, Color.Black, Color.Transparent, 1000);
this.titlesKeys[0] = "初心者";
int idx = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null) {
foreach (var item in TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles) {
this.ttkTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Value.cld.GetString(item.Key), this.MenuFont, Color.Black, Color.Transparent, 1000);
this.ttkTitles[idx] = new TitleTextureKey(item.Value.cld.GetString(item.Key), this.MenuFont, Color.Black, Color.Transparent, 1000);
this.titlesKeys[idx] = item.Key;
idx++;
}
@ -155,29 +155,29 @@ namespace TJAPlayer3 {
InFade = new CCounter();
CharaBoxAnime = new CCounter();
MenuTitleKeys[0] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString("MENU_RETURN"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[1] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_PUCHI"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[2] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_CHARA"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[3] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_DAN"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[4] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_NAMEPLATE"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[0] = new TitleTextureKey(CLangManager.LangInstance.GetString("MENU_RETURN"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[1] = new TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_PUCHI"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[2] = new TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_CHARA"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[3] = new TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_DAN"), MenuFont, Color.White, Color.Black, 9999);
MenuTitleKeys[4] = new TitleTextureKey(CLangManager.LangInstance.GetString("HEYA_NAMEPLATE"), MenuFont, Color.White, Color.Black, 9999);
ttkPuchiCharaNames = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
ttkPuchiCharaAuthors = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
ttkPuchiCharaNames = new TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
ttkPuchiCharaAuthors = new TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
for (int i = 0; i < TJAPlayer3.Skin.Puchichara_Ptn; i++) {
var textColor = HRarity.tRarityToColor(TJAPlayer3.Tx.Puchichara[i].metadata.Rarity);
ttkPuchiCharaNames[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.tGetName(), this.MenuFont, textColor, Color.Black, 1000);
ttkPuchiCharaAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.tGetAuthor(), this.MenuFont, Color.White, Color.Black, 1000);
ttkPuchiCharaNames[i] = new TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.tGetName(), this.MenuFont, textColor, Color.Black, 1000);
ttkPuchiCharaAuthors[i] = new TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.tGetAuthor(), this.MenuFont, Color.White, Color.Black, 1000);
}
ttkCharacterAuthors = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
ttkCharacterNames = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
ttkCharacterAuthors = new TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
ttkCharacterNames = new TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
for (int i = 0; i < TJAPlayer3.Skin.Characters_Ptn; i++) {
var textColor = HRarity.tRarityToColor(TJAPlayer3.Tx.Characters[i].metadata.Rarity);
ttkCharacterNames[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.tGetName(), this.MenuFont, textColor, Color.Black, 1000);
ttkCharacterAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.tGetAuthor(), this.MenuFont, Color.White, Color.Black, 1000);
ttkCharacterNames[i] = new TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.tGetName(), this.MenuFont, textColor, Color.Black, 1000);
ttkCharacterAuthors[i] = new TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.tGetAuthor(), this.MenuFont, Color.White, Color.Black, 1000);
}
@ -405,13 +405,13 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.Characters_Heya_Preview[index]?.tUpdateColor4(CConversion.ColorToColor4(Color.White));
if (ttkCharacterNames[index] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkCharacterNames[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkCharacterNames[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[1]);
}
if (ttkCharacterAuthors[index] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkCharacterAuthors[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkCharacterAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
@ -421,7 +421,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.NewHeya_Lock?.t2D描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[1]);
if (this.ttkInfoSection != null)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkInfoSection)
TitleTextureKey.ResolveTitleTexture(this.ttkInfoSection)
.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
}
@ -460,13 +460,13 @@ namespace TJAPlayer3 {
if (ttkCharacterNames[index] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkPuchiCharaNames[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkPuchiCharaNames[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Name_Offset[1]);
}
if (ttkCharacterAuthors[index] != null) {
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(ttkPuchiCharaAuthors[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(ttkPuchiCharaAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
@ -476,7 +476,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.NewHeya_Lock?.t2D描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Lock_Offset[1]);
if (this.ttkInfoSection != null)
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkInfoSection)
TitleTextureKey.ResolveTitleTexture(this.ttkInfoSection)
.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
}
@ -492,7 +492,7 @@ namespace TJAPlayer3 {
while (index >= CurrentMaxIndex) {
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkTitles[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkTitles[index]);
if (i != 0) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -530,7 +530,7 @@ namespace TJAPlayer3 {
while (index >= CurrentMaxIndex) {
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(this.ttkDanTitles[index]);
CTexture tmpTex = TitleTextureKey.ResolveTitleTexture(this.ttkDanTitles[index]);
if (i != 0) {
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
@ -576,7 +576,7 @@ namespace TJAPlayer3 {
TJAPlayer3.Tx.NewHeya_ModeBar.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[i], TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[i]);
int title_x = TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[i] + TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Font_Offset[0];
int title_y = TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[i] + TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Font_Offset[1];
TJAPlayer3.stageSongSelect.actSongList.ResolveTitleTexture(MenuTitleKeys[i], false).t2D拡大率考慮中央基準描画(title_x, title_y);
TitleTextureKey.ResolveTitleTexture(MenuTitleKeys[i], false).t2D拡大率考慮中央基準描画(title_x, title_y);
}
return base.Draw();
@ -606,7 +606,7 @@ namespace TJAPlayer3 {
// Send coins here for the unlock, considering that only coin-paid puchicharas can be unlocked directly from the Heya menu
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(response.Item2 ?? this.ttkInfoSection.str文字, this.MenuFont, responseColor, Color.Black, 1000);
this.ttkInfoSection = new TitleTextureKey(response.Item2 ?? this.ttkInfoSection.str文字, this.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}
@ -620,7 +620,7 @@ namespace TJAPlayer3 {
if (TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex])) {
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.tConditionMessage()
this.ttkInfoSection = new TitleTextureKey(TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.tConditionMessage()
, this.MenuFont, Color.White, Color.Black, 1000);
} else
this.ttkInfoSection = null;
@ -632,7 +632,7 @@ namespace TJAPlayer3 {
if (TJAPlayer3.Tx.Characters[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[CurrentIndex])) {
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[CurrentIndex].unlock.tConditionMessage()
this.ttkInfoSection = new TitleTextureKey(TJAPlayer3.Tx.Characters[CurrentIndex].unlock.tConditionMessage()
, this.MenuFont, Color.White, Color.Black, 1000);
} else
this.ttkInfoSection = null;
@ -653,7 +653,7 @@ namespace TJAPlayer3 {
// Send coins here for the unlock, considering that only coin-paid puchicharas can be unlocked directly from the Heya menu
this.ttkInfoSection = new CActSelect曲リスト.TitleTextureKey(response.Item2 ?? this.ttkInfoSection.str文字, this.MenuFont, responseColor, Color.Black, 1000);
this.ttkInfoSection = new TitleTextureKey(response.Item2 ?? this.ttkInfoSection.str文字, this.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}