Move TitleTextureKey stuff to a separate class
This commit is contained in:
parent
ec3c90dc91
commit
95f9802bb2
132
OpenTaiko/src/Common/TitleTextureKey.cs
Normal file
132
OpenTaiko/src/Common/TitleTextureKey.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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) {
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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]);
|
||||
|
@ -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アイテム数の描画_1桁描画(x, y, s[p]);
|
||||
x -= 8;
|
||||
}
|
||||
}
|
||||
private void tアイテム数の描画_1桁描画(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) {
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
|
@ -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]);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user