新マイルームを実装 (#496)
@ -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;
|
||||
}
|
||||
|
After Width: | Height: | Size: 139 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 867 B |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -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
|
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 1016 B |
After Width: | Height: | Size: 368 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.3 KiB |
@ -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
|
@ -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");
|
||||
|
@ -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_段位選択画面
|
||||
|
@ -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;
|
||||
|
777
OpenTaiko/src/Stages/CActNewHeya.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|