1
0
mirror of synced 2024-11-24 07:30:21 +01:00

新マイルームを実装 (#496)

This commit is contained in:
Takkkom 2023-09-20 09:33:59 +09:00 committed by GitHub
parent 17f640f361
commit ae80ece578
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 1017 additions and 10 deletions

View File

@ -455,10 +455,12 @@ namespace FDK
Matrix4X4<float> mvp = Matrix4X4<float>.Identity;
float trueWidth = Math.Abs((float)rc画像内の描画領域.Width);
float trueHeight = Math.Abs((float)rc画像内の描画領域.Height);
Matrix4X4<float> scaling()
{
Matrix4X4<float> resizeMatrix = Matrix4X4.CreateScale((float)rc画像内の描画領域.Width / GameWindowSize.Width, (float)rc画像内の描画領域.Height / GameWindowSize.Height, 0.0f);
Matrix4X4<float> resizeMatrix = Matrix4X4.CreateScale(trueWidth / GameWindowSize.Width, trueHeight / GameWindowSize.Height, 0.0f);
Matrix4X4<float> scaleMatrix = Matrix4X4.CreateScale(vc拡大縮小倍率.X, vc拡大縮小倍率.Y, vc拡大縮小倍率.Z);
return resizeMatrix * scaleMatrix;
}
@ -482,8 +484,8 @@ namespace FDK
Matrix4X4<float> translation = Matrix4X4.CreateTranslation(api_x, api_y, 0.0f);
Matrix4X4<float> translation2 = Matrix4X4.CreateTranslation(
(rc画像内の描画領域.Width * vc拡大縮小倍率.X / GameWindowSize.Width),
(rc画像内の描画領域.Height * vc拡大縮小倍率.Y / GameWindowSize.Height) * -1,
(trueWidth * vc拡大縮小倍率.X / GameWindowSize.Width),
(trueHeight * vc拡大縮小倍率.Y / GameWindowSize.Height) * -1,
0.0f);
return translation * translation2;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -323,4 +323,37 @@ SongSelect_Option_ModMults1_Y=17,17
SongSelect_Option_ModMults2_X=162,1644
SongSelect_Option_ModMults2_Y=78,78
SongSelect_Option_ModMults2_Y=78,78
SongSelect_NewHeya_Close_Select=0,0
SongSelect_NewHeya_PlayerPlate_X=0,385,770,1155,1540
SongSelect_NewHeya_PlayerPlate_Y=100,100,100,100,100
SongSelect_NewHeya_ModeBar_X=0,385,770,1155,1540
SongSelect_NewHeya_ModeBar_Y=300,300,300,300,300
SongSelect_NewHeya_ModeBar_Font_Offset=192,50
SongSelect_NewHeya_Box_Count=7
SongSelect_NewHeya_Box_X=-636,-180,276,732,1188,1644,2100
SongSelect_NewHeya_Box_Y=410,410,410,410,410,410,410
SongSelect_NewHeya_Box_Chara_Offset=228,300
SongSelect_NewHeya_Box_Name_Offset=228,580
SongSelect_NewHeya_Box_Author_Offset=228,620
SongSelect_NewHeya_Lock_Offset=0,110
SongSelect_NewHeya_InfoSection_Offset=228,310

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -330,4 +330,37 @@ SongSelect_Option_ModMults1_Y=11,11
SongSelect_Option_ModMults2_X=108,1096
SongSelect_Option_ModMults2_Y=52,52
SongSelect_Option_ModMults2_Y=52,52
SongSelect_NewHeya_Close_Select=0, 0
SongSelect_NewHeya_PlayerPlate_X=0, 256, 513, 770, 1026
SongSelect_NewHeya_PlayerPlate_Y=66, 66, 66, 66, 66
SongSelect_NewHeya_ModeBar_X=0, 256, 513, 770, 1026
SongSelect_NewHeya_ModeBar_Y=200, 200, 200, 200, 200
SongSelect_NewHeya_ModeBar_Font_Offset=128,33
SongSelect_NewHeya_Box_Count=7
SongSelect_NewHeya_Box_X=-424,-120,184,488,792,1096,1400
SongSelect_NewHeya_Box_Y=273,273,273,273,273,273,273
SongSelect_NewHeya_Box_Chara_Offset=152,200
SongSelect_NewHeya_Box_Name_Offset=152,386
SongSelect_NewHeya_Box_Author_Offset=152,413
SongSelect_NewHeya_Lock_Offset=0,73
SongSelect_NewHeya_InfoSection_Offset=152,206

View File

@ -2977,6 +2977,116 @@ namespace TJAPlayer3
SongSelect_Option_ModMults2_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Close_Select")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Close_Select[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_PlayerPlate_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_PlayerPlate_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_PlayerPlate_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_PlayerPlate_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_X")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_ModeBar_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_Y")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 5; i++)
{
SongSelect_NewHeya_ModeBar_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_ModeBar_Font_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_ModeBar_Font_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Count")
{
SongSelect_NewHeya_Box_Count = int.Parse(strParam);
}
else if (strCommand == "SongSelect_NewHeya_Box_X")
{
string[] strSplit = strParam.Split(',');
SongSelect_NewHeya_Box_X = new int[SongSelect_NewHeya_Box_Count];
for (int i = 0; i < SongSelect_NewHeya_Box_Count; i++)
{
SongSelect_NewHeya_Box_X[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Y")
{
string[] strSplit = strParam.Split(',');
SongSelect_NewHeya_Box_Y = new int[SongSelect_NewHeya_Box_Count];
for (int i = 0; i < SongSelect_NewHeya_Box_Count; i++)
{
SongSelect_NewHeya_Box_Y[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Chara_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Chara_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Name_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Name_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Box_Author_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Box_Author_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_Lock_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_Lock_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_NewHeya_InfoSection_Offset")
{
string[] strSplit = strParam.Split(',');
for (int i = 0; i < 2; i++)
{
SongSelect_NewHeya_InfoSection_Offset[i] = int.Parse(strSplit[i]);
}
}
else if (strCommand == "SongSelect_ForeColor_JPOP")
@ -8630,6 +8740,26 @@ namespace TJAPlayer3
public int[] SongSelect_Option_ModMults2_X = new int[] { 108, 1096 };
public int[] SongSelect_Option_ModMults2_Y = new int[] { 52, 52 };
public int[] SongSelect_NewHeya_Close_Select = new int[] { 0, 0 };
public int[] SongSelect_NewHeya_PlayerPlate_X = new int[] { 0, 256, 513, 770, 1026 };
public int[] SongSelect_NewHeya_PlayerPlate_Y = new int[] { 66, 66, 66, 66, 66 };
public int[] SongSelect_NewHeya_ModeBar_X = new int[] { 0, 256, 513, 770, 1026 };
public int[] SongSelect_NewHeya_ModeBar_Y = new int[] { 200, 200, 200, 200, 200 };
public int[] SongSelect_NewHeya_ModeBar_Font_Offset = new int[] { 128, 33 };
public int SongSelect_NewHeya_Box_Count = 7;
public int[] SongSelect_NewHeya_Box_X = new int[] { -424, -120, 184, 488, 792, 1096, 1400 };
public int[] SongSelect_NewHeya_Box_Y = new int[] { 273, 273, 273, 273, 273, 273, 273 };
public int[] SongSelect_NewHeya_Box_Chara_Offset = new int[] { 152, 200 };
public int[] SongSelect_NewHeya_Box_Name_Offset = new int[] { 152, 386 };
public int[] SongSelect_NewHeya_Box_Author_Offset = new int[] { 152, 413 };
public int[] SongSelect_NewHeya_Lock_Offset = new int[]{ 0, 73 };
public int[] SongSelect_NewHeya_InfoSection_Offset = new int[] { 152, 206 };
public Color SongSelect_ForeColor_JPOP = ColorTranslator.FromHtml("#FFFFFF");
public Color SongSelect_ForeColor_Anime = ColorTranslator.FromHtml("#FFFFFF");
public Color SongSelect_ForeColor_VOCALOID = ColorTranslator.FromHtml("#FFFFFF");

View File

@ -371,6 +371,19 @@ namespace TJAPlayer3
}
#endregion
NewHeya_Close = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Close.png");
NewHeya_Close_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Close_Select.png");
NewHeya_PlayerPlate[0] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_1P.png");
NewHeya_PlayerPlate[1] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_2P.png");
NewHeya_PlayerPlate[2] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_3P.png");
NewHeya_PlayerPlate[3] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_4P.png");
NewHeya_PlayerPlate[4] = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_5P.png");
NewHeya_PlayerPlate_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}PlayerPlate_Select.png");
NewHeya_ModeBar = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}ModeBar.png");
NewHeya_ModeBar_Select = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}ModeBar_Select.png");
NewHeya_Box = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Box.png");
NewHeya_Lock = TxC(SONGSELECT + @$"NewHeya{Path.DirectorySeparatorChar}Lock.png");
#endregion
#region 3_
@ -2362,6 +2375,15 @@ namespace TJAPlayer3
public CTexture[] Difficulty_Back;
#endregion
public CTexture NewHeya_Close;
public CTexture NewHeya_Close_Select;
public CTexture[] NewHeya_PlayerPlate = new CTexture[5];
public CTexture NewHeya_PlayerPlate_Select;
public CTexture NewHeya_ModeBar;
public CTexture NewHeya_ModeBar_Select;
public CTexture NewHeya_Box;
public CTexture NewHeya_Lock;
#endregion
#region 3_

View File

@ -207,6 +207,7 @@ namespace TJAPlayer3
base.ChildActivities.Add(this.act難易度選択画面 = new CActSelect難易度選択画面());
base.ChildActivities.Add(this.actPlayOption = new CActPlayOption());
base.ChildActivities.Add(this.actExExtraTransAnime = new CActSelectExExtraTransAnime());
base.ChildActivities.Add(this.actNewHeya = new CActNewHeya());
base.ChildActivities.Add(this.PuchiChara = new PuchiChara());
@ -866,7 +867,7 @@ namespace TJAPlayer3
this.act曲リスト.tMenuContextDisable();
}
}
else if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect)
else if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu && !this.act難易度選択画面.bIsDifficltSelect && !actNewHeya.IsOpend)
{
#region [ ESC ]
if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape)) && (this.act曲リスト.r現在選択中の曲 != null))// && ( ) ) )
@ -970,18 +971,24 @@ namespace TJAPlayer3
}
}
#endregion
/*
#region [ F8 ]
if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDXKeys.Key.F8))
if (TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.F8))
{
/*
if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功)
TJAPlayer3.Skin.sound曲決定音.t再生する();
else
TJAPlayer3.Skin.sound決定音.t再生する();
this.t曲をランダム選択する();
*/
}
#endregion
#region [ F9 ]
if (TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.F9))
{
actNewHeya.Open();
}
#endregion
*/
if (this.act曲リスト.r現在選択中の曲 != null)
{
@ -1284,6 +1291,8 @@ namespace TJAPlayer3
if (act難易度選択画面.bOption[3]) actPlayOption.On進行描画(3);
if (act難易度選択画面.bOption[4]) actPlayOption.On進行描画(4);
if (actNewHeya.IsOpend) actNewHeya.Draw();
switch (base.eフェーズID)
{
case CStage.Eフェーズ._フェードイン:
@ -1398,6 +1407,7 @@ namespace TJAPlayer3
public CActSelect難易度選択画面 act難易度選択画面;
public CActPlayOption actPlayOption;
public CActSelectExExtraTransAnime actExExtraTransAnime;
public CActNewHeya actNewHeya;
public CActSortSongs actSortSongs;
private CActSelectQuickConfig actQuickConfig;
@ -1411,7 +1421,7 @@ namespace TJAPlayer3
//private CCounter ctDonchan_Select;
//public CCounter[] ctDonchan_Jump = new CCounter[2];
private PuchiChara PuchiChara;
public PuchiChara PuchiChara;
private int nGenreBack;
private int nOldGenreBack;

View File

@ -0,0 +1,777 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FDK;
namespace TJAPlayer3
{
class CActNewHeya : CActivity
{
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 string[] titlesKeys;
public CCounter InFade;
public CCounter CharaBoxAnime;
private int CurrentIndex;
private int CurrentMaxIndex;
private int CurrentPlayer;
private enum SelectableInfo
{
PlayerSelect,
ModeSelect,
Select
}
private enum ModeType
{
None = -1,
PuchiChara,
Chara,
DanTitle,
SubTitle
}
private SelectableInfo CurrentState;
private ModeType CurrentMode = ModeType.None;
private void SetState(SelectableInfo selectableInfo)
{
CurrentState = selectableInfo;
switch(selectableInfo)
{
case SelectableInfo.PlayerSelect:
CurrentIndex = 1;
CurrentMaxIndex = TJAPlayer3.ConfigIni.nPlayerCount + 1;
break;
case SelectableInfo.ModeSelect:
CurrentIndex = 1;
CurrentMaxIndex = 5;
break;
case SelectableInfo.Select:
CurrentMode = (ModeType)(CurrentIndex - 1);
switch(CurrentMode)
{
case ModeType.Chara:
CurrentMaxIndex = TJAPlayer3.Skin.Characters_Ptn;
break;
case ModeType.PuchiChara:
CurrentMaxIndex = TJAPlayer3.Skin.Puchichara_Ptn;
break;
case ModeType.DanTitle:
{
int amount = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles.Count;
this.ttkDanTitles = new CActSelect曲リスト.TitleTextureKey[amount];
// Silver Shinjin (default rank) always avaliable by default
this.ttkDanTitles[0] = new CActSelect曲リスト.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);
else
this.ttkDanTitles[idx] = new CActSelect曲リスト.TitleTextureKey(item.Key, this.MenuFont, Color.White, Color.Black, 1000);
idx++;
}
}
CurrentMaxIndex = amount;
}
break;
case ModeType.SubTitle:
{
int amount = 1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null)
amount += TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.Count;
this.ttkTitles = new CActSelect曲リスト.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.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.titlesKeys[idx] = item.Key;
idx++;
}
}
CurrentMaxIndex = amount;
}
break;
}
CurrentIndex = 0;
break;
}
}
private void ChangeIndex(int change)
{
CurrentIndex += change;
if (CurrentIndex < 0) CurrentIndex = CurrentMaxIndex - 1;
else if (CurrentIndex >= CurrentMaxIndex) CurrentIndex = 0;
if (CurrentState == SelectableInfo.Select)
{
switch(CurrentMode)
{
case ModeType.PuchiChara:
tUpdateUnlockableTextPuchi();
break;
case ModeType.Chara:
tUpdateUnlockableTextChara();
break;
case ModeType.DanTitle:
break;
case ModeType.SubTitle:
break;
}
}
}
public void Open()
{
InFade = new CCounter(0, 255, 1.0, TJAPlayer3.Timer);
IsOpend = true;
CurrentMode = ModeType.None;
SetState(SelectableInfo.PlayerSelect);
}
public void Close()
{
IsOpend = false;
}
public override void Activate()
{
InFade = new CCounter();
CharaBoxAnime = new CCounter();
for(int i = 0; i < 5; i++)
{
MenuTitleKeys[i] = new CActSelect曲リスト.TitleTextureKey(CLangManager.LangInstance.GetString(1030 + i), MenuFont, Color.White, Color.Black, 9999);
}
ttkPuchiCharaNames = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Puchichara_Ptn];
ttkPuchiCharaAuthors = new CActSelect曲リスト.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.Name, this.MenuFont, textColor, Color.Black, 1000);
ttkPuchiCharaAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Puchichara[i].metadata.Author, this.MenuFont, Color.White, Color.Black, 1000);
}
ttkCharacterAuthors = new CActSelect曲リスト.TitleTextureKey[TJAPlayer3.Skin.Characters_Ptn];
ttkCharacterNames = new CActSelect曲リスト.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.Name, this.MenuFont, textColor, Color.Black, 1000);
ttkCharacterAuthors[i] = new CActSelect曲リスト.TitleTextureKey(TJAPlayer3.Tx.Characters[i].metadata.Author, this.MenuFont, Color.White, Color.Black, 1000);
}
base.Activate();
}
public override void DeActivate()
{
base.DeActivate();
}
public override void CreateManagedResource()
{
if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName))
this.MenuFont = new CCachedFontRenderer(TJAPlayer3.ConfigIni.FontName, TJAPlayer3.Skin.Heya_Font_Scale);
else
this.MenuFont = new CCachedFontRenderer(CFontRenderer.DefaultFontName, TJAPlayer3.Skin.Heya_Font_Scale);
base.CreateManagedResource();
}
public override void ReleaseManagedResource()
{
MenuFont.Dispose();
base.ReleaseManagedResource();
}
public override int Draw()
{
if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide)) || ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return))))
{
switch(CurrentState)
{
case SelectableInfo.PlayerSelect:
{
switch(CurrentIndex)
{
case 0:
Close();
TJAPlayer3.Skin.sound取消音.t再生する();
break;
default:
{
CurrentPlayer = TJAPlayer3.GetActualPlayer(CurrentIndex - 1);
SetState(SelectableInfo.ModeSelect);
TJAPlayer3.Skin.sound決定音.t再生する();
}
break;
}
}
break;
case SelectableInfo.ModeSelect:
{
switch(CurrentIndex)
{
case 0:
SetState(SelectableInfo.PlayerSelect);
TJAPlayer3.Skin.sound取消音.t再生する();
break;
default:
{
SetState(SelectableInfo.Select);
TJAPlayer3.Skin.sound決定音.t再生する();
}
break;
}
}
break;
case SelectableInfo.Select:
{
switch(CurrentMode)
{
case ModeType.PuchiChara:
{
var ess = this.tSelectPuchi();
if (ess == ESelectStatus.SELECTED)
{
//PuchiChara.tGetPuchiCharaIndexByName(p);
//TJAPlayer3.NamePlateConfig.data.PuchiChara[iPlayer] = TJAPlayer3.Skin.Puchicharas_Name[iPuchiCharaCurrent];// iPuchiCharaCurrent;
//TJAPlayer3.NamePlateConfig.tApplyHeyaChanges();
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.PuchiChara = TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex];// iPuchiCharaCurrent;
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Tx.Puchichara[CurrentIndex].welcome.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
else if (ess == ESelectStatus.SUCCESS)
{
//TJAPlayer3.NamePlateConfig.data.UnlockedPuchicharas[iPlayer].Add(TJAPlayer3.Skin.Puchicharas_Name[iPuchiCharaCurrent]);
//TJAPlayer3.NamePlateConfig.tSpendCoins(TJAPlayer3.Tx.Puchichara[iPuchiCharaCurrent].unlock.Values[0], iPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Add(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex]);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tSpendCoins(TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.Values[0]);
TJAPlayer3.Skin.sound決定音.t再生する();
}
else
{
TJAPlayer3.Skin.soundError.t再生する();
}
}
break;
case ModeType.Chara:
{
var ess = this.tSelectChara();
if (ess == ESelectStatus.SELECTED)
{
//TJAPlayer3.Tx.Loading?.t2D描画(18, 7);
// Reload character, a bit time expensive but with a O(N) memory complexity instead of O(N * M)
TJAPlayer3.Tx.ReloadCharacter(TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Character, CurrentIndex, CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Character = CurrentIndex;
// Update the character
TJAPlayer3.SaveFileInstances[CurrentPlayer].tUpdateCharacterName(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]);
// Welcome voice using Sanka
TJAPlayer3.Skin.sound決定音.t再生する();
TJAPlayer3.Skin.voiceTitleSanka[CurrentPlayer]?.t再生する();
CMenuCharacter.tMenuResetTimer(CMenuCharacter.ECharacterAnimation.NORMAL);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
SetState(SelectableInfo.PlayerSelect);
CurrentMode = ModeType.None;
}
else if (ess == ESelectStatus.SUCCESS)
{
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Add(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tSpendCoins(TJAPlayer3.Tx.Characters[CurrentIndex].unlock.Values[0]);
TJAPlayer3.Skin.sound決定音.t再生する();
}
else
{
TJAPlayer3.Skin.soundError.t再生する();
}
}
break;
case ModeType.DanTitle:
{
bool iG = false;
int cs = 0;
if (CurrentIndex > 0)
{
iG = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[CurrentIndex].str文字].isGold;
cs = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[CurrentIndex].str文字].clearStatus;
}
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Dan = this.ttkDanTitles[CurrentIndex].str文字;
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanGold = iG;
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanType = cs;
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
break;
case ModeType.SubTitle:
{
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.Title = this.ttkTitles[CurrentIndex].str文字;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null
&& TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[CurrentIndex]))
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[CurrentIndex]].iType;
else if (CurrentIndex == 0)
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = 0;
else
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.TitleType = -1;
TJAPlayer3.NamePlate.tNamePlateRefreshTitles(CurrentPlayer);
TJAPlayer3.SaveFileInstances[CurrentPlayer].tApplyHeyaChanges();
TJAPlayer3.Skin.sound決定音.t再生する();
SetState(SelectableInfo.PlayerSelect);
}
break;
}
}
break;
}
}
else if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Cancel) || TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape)))
{
Close();
TJAPlayer3.Skin.sound取消音.t再生する();
}
else if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LeftChange)
|| TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow))
{
ChangeIndex(-1);
TJAPlayer3.Skin.sound変更音.t再生する();
}
else if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RightChange)
|| TJAPlayer3.Input管理.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow))
{
ChangeIndex(1);
TJAPlayer3.Skin.sound変更音.t再生する();
}
InFade.Tick();
if (TJAPlayer3.Tx.Tile_Black != null)
{
TJAPlayer3.Tx.Tile_Black.Opacity = InFade.CurrentValue / 2;
for (int i = 0; i <= (SampleFramework.GameWindowSize.Width / TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Width); i++) // #23510 2010.10.31 yyagi: change "clientSize.Width" to "640" to fix FIFO drawing size
{
for (int j = 0; j <= (SampleFramework.GameWindowSize.Height / TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Height); j++) // #23510 2010.10.31 yyagi: change "clientSize.Height" to "480" to fix FIFO drawing size
{
TJAPlayer3.Tx.Tile_Black.t2D描画( i * TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Width, j * TJAPlayer3.Tx.Tile_Black.szテクスチャサイズ.Height);
}
}
}
switch (CurrentState)
{
case SelectableInfo.PlayerSelect:
if (CurrentIndex == 0)
{
TJAPlayer3.Tx.NewHeya_Close_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_Close_Select[0], TJAPlayer3.Skin.SongSelect_NewHeya_Close_Select[1]);
}
else
{
TJAPlayer3.Tx.NewHeya_PlayerPlate_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_X[CurrentIndex - 1], TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_Y[CurrentIndex - 1]);
}
break;
case SelectableInfo.ModeSelect:
{
TJAPlayer3.Tx.NewHeya_ModeBar_Select.t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_X[CurrentIndex], TJAPlayer3.Skin.SongSelect_NewHeya_ModeBar_Y[CurrentIndex]);
}
break;
case SelectableInfo.Select:
{
switch(CurrentMode)
{
case ModeType.Chara:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
float charaRatioX = 1.0f;
float charaRatioY = 1.0f;
if (TJAPlayer3.Skin.Characters_Resolution[index] != null)
{
charaRatioX = TJAPlayer3.Skin.Resolution[0] / (float)TJAPlayer3.Skin.Characters_Resolution[index][0];
charaRatioY = TJAPlayer3.Skin.Resolution[1] / (float)TJAPlayer3.Skin.Characters_Resolution[index][1];
}
if (TJAPlayer3.Tx.Characters_Heya_Preview[index] != null)
{
TJAPlayer3.Tx.Characters_Heya_Preview[index].vc拡大縮小倍率.X = charaRatioX;
TJAPlayer3.Tx.Characters_Heya_Preview[index].vc拡大縮小倍率.Y = charaRatioY;
}
TJAPlayer3.Tx.Characters_Heya_Preview[index]?.t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1]);
TJAPlayer3.Tx.Characters_Heya_Preview[index]?.tUpdateColor4(CConversion.ColorToColor4(Color.White));
if (ttkCharacterNames[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.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.stage選曲.act曲リスト.ResolveTitleTexture(ttkCharacterAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
if (TJAPlayer3.Tx.Characters[index].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[index]))
{
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.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkInfoSection)
.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
}
break;
case ModeType.PuchiChara:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
int puriColumn = index % 5;
int puriRow = index / 5;
if (TJAPlayer3.Tx.Puchichara[index].tx != null)
{
float puchiScale = TJAPlayer3.Skin.Resolution[1] / 1080.0f;
TJAPlayer3.Tx.Puchichara[index].tx.vc拡大縮小倍率.X = puchiScale;
TJAPlayer3.Tx.Puchichara[index].tx.vc拡大縮小倍率.Y = puchiScale;
}
TJAPlayer3.Tx.Puchichara[index].tx?.t2D拡大率考慮中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0],
y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1] + (int)(TJAPlayer3.stage選曲.PuchiChara.sineY),
new Rectangle((TJAPlayer3.stage選曲.PuchiChara.Counter.CurrentValue + 2 * puriColumn) * TJAPlayer3.Skin.Game_PuchiChara[0],
puriRow * TJAPlayer3.Skin.Game_PuchiChara[1],
TJAPlayer3.Skin.Game_PuchiChara[0],
TJAPlayer3.Skin.Game_PuchiChara[1]));
TJAPlayer3.Tx.Puchichara[index].tx?.tUpdateColor4(CConversion.ColorToColor4(Color.White));
if (ttkCharacterNames[index] != null)
{
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.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.stage選曲.act曲リスト.ResolveTitleTexture(ttkPuchiCharaAuthors[index]);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_Box_Author_Offset[1]);
}
if (TJAPlayer3.Tx.Characters[index].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[index]))
TJAPlayer3.Tx.NewHeya_Lock?.t2D描画(x + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[0], y + TJAPlayer3.Skin.SongSelect_NewHeya_InfoSection_Offset[1]);
}
break;
case ModeType.SubTitle:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkTitles[index]);
if (i != 0)
{
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
}
else
{
tmpTex.color4 = CConversion.ColorToColor4(Color.White);
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
x += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0];
y += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1];
int iType = -1;
if (TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles != null &&
TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles.ContainsKey(this.titlesKeys[index]))
iType = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.NamePlateTitles[this.titlesKeys[index]].iType;
else if (index == 0)
iType = 0;
if (iType >= 0 && iType < TJAPlayer3.Skin.Config_NamePlate_Ptn_Title)
{
TJAPlayer3.Tx.NamePlate_Title[iType][TJAPlayer3.NamePlate.ctAnimatedNamePlateTitle.CurrentValue % TJAPlayer3.Skin.Config_NamePlate_Ptn_Title_Boxes[iType]].t2D拡大率考慮上中央基準描画(
x,
y);
}
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[0], y + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[1]);
}
break;
case ModeType.DanTitle:
for(int i = 1; i < TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count - 1; i++)
{
int x = TJAPlayer3.Skin.SongSelect_NewHeya_Box_X[i];
int y = TJAPlayer3.Skin.SongSelect_NewHeya_Box_Y[i];
int index = i - (TJAPlayer3.Skin.SongSelect_NewHeya_Box_Count / 2) + CurrentIndex;
while (index < 0)
{
index += CurrentMaxIndex;
}
while (index >= CurrentMaxIndex)
{
index -= CurrentMaxIndex;
}
CTexture tmpTex = TJAPlayer3.stage選曲.act曲リスト.ResolveTitleTexture(this.ttkDanTitles[index]);
if (i != 0)
{
tmpTex.color4 = CConversion.ColorToColor4(Color.DarkGray);
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.DarkGray);
}
else
{
tmpTex.color4 = CConversion.ColorToColor4(Color.White);
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.White);
}
TJAPlayer3.Tx.NewHeya_Box.t2D描画(x, y);
x += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[0];
y += TJAPlayer3.Skin.SongSelect_NewHeya_Box_Chara_Offset[1];
int danGrade = 0;
if (index > 0)
{
danGrade = TJAPlayer3.SaveFileInstances[CurrentPlayer].data.DanTitles[this.ttkDanTitles[index].str文字].clearStatus;
}
TJAPlayer3.NamePlate.tNamePlateDisplayNamePlateBase(
x - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Width / 2,
y - TJAPlayer3.Tx.NamePlateBase.szテクスチャサイズ.Height / 24,
(8 + danGrade));
TJAPlayer3.Tx.NamePlateBase.color4 = CConversion.ColorToColor4(Color.White);
tmpTex.t2D拡大率考慮上中央基準描画(x + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[0], y + TJAPlayer3.Skin.Heya_Side_Menu_Font_Offset[1]);
}
break;
}
}
break;
}
TJAPlayer3.Tx.NewHeya_Close.t2D描画(0, 0);
for(int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++)
{
TJAPlayer3.Tx.NewHeya_PlayerPlate[TJAPlayer3.GetActualPlayer(i)].t2D描画(TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_X[i], TJAPlayer3.Skin.SongSelect_NewHeya_PlayerPlate_Y[i]);
}
for(int i = 0; i < 5; i++)
{
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.stage選曲.act曲リスト.ResolveTitleTexture(MenuTitleKeys[i], false).t2D拡大率考慮中央基準描画(title_x, title_y);
}
return base.Draw();
}
/*
* FAILED : Selection/Purchase failed (failed condition)
* SUCCESS : Purchase succeed (without selection)
* SELECTED : Selection succeed
*/
private enum ESelectStatus
{
FAILED,
SUCCESS,
SELECTED
};
private ESelectStatus tSelectPuchi()
{
// Add "If unlocked" to select directly
if (TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedPuchicharas.Contains(TJAPlayer3.Skin.Puchicharas_Name[CurrentIndex]))
{
(bool, string) response = TJAPlayer3.Tx.Puchichara[CurrentIndex].unlock.tConditionMetWrapper(TJAPlayer3.SaveFile);
//tConditionMet(
//new int[] { TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].data.Medals });
Color responseColor = (response.Item1) ? Color.Lime : Color.Red;
// 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.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}
this.ttkInfoSection = null;
return ESelectStatus.SELECTED;
}
private void tUpdateUnlockableTextPuchi()
{
#region [Check unlockable]
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.MenuFont, Color.White, Color.Black, 1000);
}
else
this.ttkInfoSection = null;
#endregion
}
private void tUpdateUnlockableTextChara()
{
#region [Check unlockable]
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.MenuFont, Color.White, Color.Black, 1000);
}
else
this.ttkInfoSection = null;
#endregion
}
private ESelectStatus tSelectChara()
{
// Add "If unlocked" to select directly
if (TJAPlayer3.Tx.Characters[CurrentIndex].unlock != null
&& !TJAPlayer3.SaveFileInstances[CurrentPlayer].data.UnlockedCharacters.Contains(TJAPlayer3.Skin.Characters_DirName[CurrentIndex]))
{
(bool, string) response = TJAPlayer3.Tx.Characters[CurrentIndex].unlock.tConditionMetWrapper(TJAPlayer3.SaveFile);
//TJAPlayer3.Tx.Characters[iCharacterCurrent].unlock.tConditionMet(
//new int[] { TJAPlayer3.SaveFileInstances[TJAPlayer3.SaveFile].data.Medals });
Color responseColor = (response.Item1) ? Color.Lime : Color.Red;
// 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.MenuFont, responseColor, Color.Black, 1000);
return (response.Item1) ? ESelectStatus.SUCCESS : ESelectStatus.FAILED;
}
this.ttkInfoSection = null;
return ESelectStatus.SELECTED;
}
}
}