Improve Tower animations (#521)
* Improve Tower Char animations * oragnizing * Update tower texture loading
This commit is contained in:
parent
a546a9b9c1
commit
27c85fd891
@ -8507,17 +8507,6 @@ namespace TJAPlayer3
|
|||||||
Characters_Motion_SoulIn,
|
Characters_Motion_SoulIn,
|
||||||
Characters_Motion_SoulOut,
|
Characters_Motion_SoulOut,
|
||||||
Characters_Motion_Return;
|
Characters_Motion_Return;
|
||||||
/*
|
|
||||||
Characters_Motion_Tower_Standing,
|
|
||||||
Characters_Motion_Tower_Climbing,
|
|
||||||
Characters_Motion_Tower_Running,
|
|
||||||
Characters_Motion_Tower_Clear,
|
|
||||||
Characters_Motion_Tower_Fail,
|
|
||||||
Characters_Motion_Tower_Standing_Tired,
|
|
||||||
Characters_Motion_Tower_Climbing_Tired,
|
|
||||||
Characters_Motion_Tower_Running_Tired,
|
|
||||||
Characters_Motion_Tower_Clear_Tired;
|
|
||||||
*/
|
|
||||||
public float[] Characters_Beat_Normal,
|
public float[] Characters_Beat_Normal,
|
||||||
Characters_Beat_10Combo,
|
Characters_Beat_10Combo,
|
||||||
Characters_Beat_10Combo_Clear,
|
Characters_Beat_10Combo_Clear,
|
||||||
@ -8538,14 +8527,13 @@ namespace TJAPlayer3
|
|||||||
Characters_Beat_SoulOut,
|
Characters_Beat_SoulOut,
|
||||||
Characters_Beat_Return,
|
Characters_Beat_Return,
|
||||||
Characters_Beat_Tower_Standing,
|
Characters_Beat_Tower_Standing,
|
||||||
Characters_Beat_Tower_Climbing,
|
|
||||||
Characters_Beat_Tower_Running,
|
|
||||||
Characters_Beat_Tower_Clear,
|
|
||||||
Characters_Beat_Tower_Fail,
|
|
||||||
Characters_Beat_Tower_Standing_Tired,
|
Characters_Beat_Tower_Standing_Tired,
|
||||||
Characters_Beat_Tower_Climbing_Tired,
|
Characters_Beat_Tower_Fail,
|
||||||
Characters_Beat_Tower_Running_Tired,
|
Characters_Beat_Tower_Clear,
|
||||||
Characters_Beat_Tower_Clear_Tired;
|
Characters_Beat_Tower_Clear_Tired;
|
||||||
|
public bool[] Characters_Tower_Clear_IsLooping,
|
||||||
|
Characters_Tower_Clear_Tired_IsLooping,
|
||||||
|
Characters_Tower_Fail_IsLooping;
|
||||||
public int[] Characters_Balloon_Timer;
|
public int[] Characters_Balloon_Timer;
|
||||||
public int[] Characters_Balloon_Delay;
|
public int[] Characters_Balloon_Delay;
|
||||||
public int[] Characters_Balloon_FadeOut;
|
public int[] Characters_Balloon_FadeOut;
|
||||||
@ -9148,6 +9136,7 @@ namespace TJAPlayer3
|
|||||||
public int[] Game_Tower_Ptn_Deco,
|
public int[] Game_Tower_Ptn_Deco,
|
||||||
Game_Tower_Ptn_Base;
|
Game_Tower_Ptn_Base;
|
||||||
|
|
||||||
|
public string[] Game_Tower_Names;
|
||||||
public int Game_Tower_Ptn_Result;
|
public int Game_Tower_Ptn_Result;
|
||||||
|
|
||||||
public int Game_Tower_Ptn_Don;
|
public int Game_Tower_Ptn_Don;
|
||||||
|
@ -1109,7 +1109,7 @@ namespace TJAPlayer3
|
|||||||
// Tower lifes
|
// Tower lifes
|
||||||
public int LIFE;
|
public int LIFE;
|
||||||
|
|
||||||
public int TOWERTYPE;
|
public string TOWERTYPE;
|
||||||
|
|
||||||
public int DANTICK = 0;
|
public int DANTICK = 0;
|
||||||
public Color DANTICKCOLOR = Color.White;
|
public Color DANTICKCOLOR = Color.White;
|
||||||
@ -7365,8 +7365,7 @@ namespace TJAPlayer3
|
|||||||
}
|
}
|
||||||
else if (strCommandName.Equals("TOWERTYPE"))
|
else if (strCommandName.Equals("TOWERTYPE"))
|
||||||
{
|
{
|
||||||
var tt = (int)Convert.ToDouble(strCommandParam);
|
this.TOWERTYPE = strCommandParam;
|
||||||
this.TOWERTYPE = tt;
|
|
||||||
}
|
}
|
||||||
else if (strCommandName.Equals("DANTICK"))
|
else if (strCommandName.Equals("DANTICK"))
|
||||||
{
|
{
|
||||||
|
@ -102,7 +102,7 @@ namespace TJAPlayer3
|
|||||||
// Tower lifes
|
// Tower lifes
|
||||||
public int nLife;
|
public int nLife;
|
||||||
public int nTotalFloor;
|
public int nTotalFloor;
|
||||||
public int nTowerType;
|
public string nTowerType;
|
||||||
|
|
||||||
public int nDanTick;
|
public int nDanTick;
|
||||||
public Color cDanTickColor;
|
public Color cDanTickColor;
|
||||||
|
@ -83,7 +83,7 @@ namespace TJAPlayer3
|
|||||||
// Tower Lives
|
// Tower Lives
|
||||||
public int nLife = 5;
|
public int nLife = 5;
|
||||||
public int nTotalFloor = 140;
|
public int nTotalFloor = 140;
|
||||||
public int nTowerType = 0;
|
public string nTowerType;
|
||||||
|
|
||||||
// Unique id
|
// Unique id
|
||||||
public CSongUniqueID uniqueId;
|
public CSongUniqueID uniqueId;
|
||||||
|
@ -911,7 +911,11 @@ namespace TJAPlayer3
|
|||||||
Tower_Miss = TxC(GAME + TOWER + @$"Miss.png");
|
Tower_Miss = TxC(GAME + TOWER + @$"Miss.png");
|
||||||
|
|
||||||
// Tower elements
|
// Tower elements
|
||||||
TJAPlayer3.Skin.Game_Tower_Ptn = System.IO.Directory.GetDirectories(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR)).Length;
|
string[] towerDirectories = System.IO.Directory.GetDirectories(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR));
|
||||||
|
TJAPlayer3.Skin.Game_Tower_Ptn = towerDirectories.Length;
|
||||||
|
TJAPlayer3.Skin.Game_Tower_Names = new string[TJAPlayer3.Skin.Game_Tower_Ptn];
|
||||||
|
for (int i = 0; i < TJAPlayer3.Skin.Game_Tower_Ptn; i++)
|
||||||
|
TJAPlayer3.Skin.Game_Tower_Names[i] = new DirectoryInfo(towerDirectories[i]).Name;
|
||||||
Tower_Top = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn];
|
Tower_Top = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn];
|
||||||
Tower_Base = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
|
Tower_Base = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
|
||||||
Tower_Deco = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
|
Tower_Deco = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn][];
|
||||||
@ -921,22 +925,22 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
for (int i = 0; i < TJAPlayer3.Skin.Game_Tower_Ptn; i++)
|
for (int i = 0; i < TJAPlayer3.Skin.Game_Tower_Ptn; i++)
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Game_Tower_Ptn_Base[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR + i.ToString() + @$"{Path.DirectorySeparatorChar}Base{Path.DirectorySeparatorChar}"), "Base");
|
TJAPlayer3.Skin.Game_Tower_Ptn_Base[i] = TJAPlayer3.t連番画像の枚数を数える((towerDirectories[i] + @$"{Path.DirectorySeparatorChar}Base{Path.DirectorySeparatorChar}"), "Base");
|
||||||
TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i] = TJAPlayer3.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + TOWER + TOWERFLOOR + i.ToString() + @$"{Path.DirectorySeparatorChar}Deco{Path.DirectorySeparatorChar}"), "Deco");
|
TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i] = TJAPlayer3.t連番画像の枚数を数える((towerDirectories[i] + @$"{Path.DirectorySeparatorChar}Deco{Path.DirectorySeparatorChar}"), "Deco");
|
||||||
|
|
||||||
Tower_Top[i] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @$"{Path.DirectorySeparatorChar}Top.png");
|
Tower_Top[i] = TxC(GAME + TOWER + TOWERFLOOR + TJAPlayer3.Skin.Game_Tower_Names[i] + @$"{Path.DirectorySeparatorChar}Top.png");
|
||||||
|
|
||||||
Tower_Base[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]];
|
Tower_Base[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]];
|
||||||
Tower_Deco[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]];
|
Tower_Deco[i] = new CTexture[TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]];
|
||||||
|
|
||||||
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]; j++)
|
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Base[i]; j++)
|
||||||
{
|
{
|
||||||
Tower_Base[i][j] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @$"{Path.DirectorySeparatorChar}Base{Path.DirectorySeparatorChar}Base" + j.ToString() + ".png");
|
Tower_Base[i][j] = TxC(GAME + TOWER + TOWERFLOOR + TJAPlayer3.Skin.Game_Tower_Names[i] + @$"{Path.DirectorySeparatorChar}Base{Path.DirectorySeparatorChar}Base" + j.ToString() + ".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]; j++)
|
for (int j = 0; j < TJAPlayer3.Skin.Game_Tower_Ptn_Deco[i]; j++)
|
||||||
{
|
{
|
||||||
Tower_Deco[i][j] = TxC(GAME + TOWER + TOWERFLOOR + i.ToString() + @$"{Path.DirectorySeparatorChar}Deco{Path.DirectorySeparatorChar}Deco" + j.ToString() + ".png");
|
Tower_Deco[i][j] = TxC(GAME + TOWER + TOWERFLOOR + TJAPlayer3.Skin.Game_Tower_Names[i] + @$"{Path.DirectorySeparatorChar}Deco{Path.DirectorySeparatorChar}Deco" + j.ToString() + ".png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1274,6 +1278,9 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Clear_IsLooping = new bool[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_IsLooping = new bool[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Fail_IsLooping = new bool[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
|
|
||||||
TJAPlayer3.Skin.Characters_Resolution = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
TJAPlayer3.Skin.Characters_Resolution = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||||
TJAPlayer3.Skin.Characters_Heya_Render_Offset = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
TJAPlayer3.Skin.Characters_Heya_Render_Offset = new int[TJAPlayer3.Skin.Characters_Ptn][];
|
||||||
@ -1338,13 +1345,9 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Beat_SoulOut = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_SoulOut = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Return = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Return = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing = new float[TJAPlayer3.Skin.Characters_Ptn];
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running = new float[TJAPlayer3.Skin.Characters_Ptn];
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Tower_Fail = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired = new float[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Balloon_Timer = new int[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Balloon_Timer = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
TJAPlayer3.Skin.Characters_Balloon_Delay = new int[TJAPlayer3.Skin.Characters_Ptn];
|
TJAPlayer3.Skin.Characters_Balloon_Delay = new int[TJAPlayer3.Skin.Characters_Ptn];
|
||||||
@ -1920,13 +1923,9 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Beat_SoulOut[i] = 1.5f;
|
TJAPlayer3.Skin.Characters_Beat_SoulOut[i] = 1.5f;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Return[i] = 1.5f;
|
TJAPlayer3.Skin.Characters_Beat_Return[i] = 1.5f;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = 1;
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = 1;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[i] = 1;
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running[i] = 1;
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = 1;
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = 1;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = 1;
|
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = 1;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = 1;
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = 1;
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[i] = 1;
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[i] = 1;
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = 1;
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = 1;
|
||||||
TJAPlayer3.Skin.Characters_Balloon_Timer[i] = 28;
|
TJAPlayer3.Skin.Characters_Balloon_Timer[i] = 28;
|
||||||
TJAPlayer3.Skin.Characters_Balloon_Delay[i] = 500;
|
TJAPlayer3.Skin.Characters_Balloon_Delay[i] = 500;
|
||||||
@ -2311,19 +2310,9 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = float.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing[i] = float.Parse(strParam);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "Game_Chara_Beat_Tower_Climbing":
|
case "Game_Chara_Beat_Tower_Standing_Tired":
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[i] = float.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = float.Parse(strParam);
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Game_Chara_Beat_Tower_Running":
|
|
||||||
{
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running[i] = float.Parse(strParam);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Game_Chara_Beat_Tower_Clear":
|
|
||||||
{
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = float.Parse(strParam);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "Game_Chara_Beat_Tower_Fail":
|
case "Game_Chara_Beat_Tower_Fail":
|
||||||
@ -2331,19 +2320,9 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = float.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Beat_Tower_Fail[i] = float.Parse(strParam);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "Game_Chara_Beat_Tower_Standing_Tired":
|
case "Game_Chara_Beat_Tower_Clear":
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[i] = float.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear[i] = float.Parse(strParam);
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Game_Chara_Beat_Tower_Climbing_Tired":
|
|
||||||
{
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[i] = float.Parse(strParam);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "Game_Chara_Beat_Tower_Running_Tired":
|
|
||||||
{
|
|
||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[i] = float.Parse(strParam);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "Game_Chara_Beat_Tower_Clear_Tired":
|
case "Game_Chara_Beat_Tower_Clear_Tired":
|
||||||
@ -2351,6 +2330,21 @@ namespace TJAPlayer3
|
|||||||
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = float.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[i] = float.Parse(strParam);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "Game_Chara_Tower_Clear_IsLooping":
|
||||||
|
{
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Clear_IsLooping[i] = int.Parse(strParam) != 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "Game_Chara_Tower_Clear_Tired_IsLooping":
|
||||||
|
{
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Clear_Tired_IsLooping[i] = int.Parse(strParam) != 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "Game_Chara_Tower_Fail_IsLooping":
|
||||||
|
{
|
||||||
|
TJAPlayer3.Skin.Characters_Tower_Fail_IsLooping[i] = int.Parse(strParam) != 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case "Chara_Entry_AnimationDuration":
|
case "Chara_Entry_AnimationDuration":
|
||||||
{
|
{
|
||||||
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[i] = int.Parse(strParam);
|
TJAPlayer3.Skin.Characters_Title_Entry_AnimationDuration[i] = int.Parse(strParam);
|
||||||
|
@ -384,12 +384,12 @@ namespace TJAPlayer3
|
|||||||
int xFactor = 0;
|
int xFactor = 0;
|
||||||
float yFactor = 1f;
|
float yFactor = 1f;
|
||||||
|
|
||||||
int currentTowerType = TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType;
|
int currentTowerType = Array.IndexOf(TJAPlayer3.Skin.Game_Tower_Names, TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType);
|
||||||
|
|
||||||
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn_Result)
|
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn)
|
||||||
currentTowerType = 0;
|
currentTowerType = 0;
|
||||||
|
|
||||||
if (TJAPlayer3.Tx.TowerResult_Background != null && TJAPlayer3.Tx.TowerResult_Tower[currentTowerType] != null)
|
if (TJAPlayer3.Tx.TowerResult_Background != null && currentTowerType < TJAPlayer3.Tx.TowerResult_Tower.Length && TJAPlayer3.Tx.TowerResult_Tower[currentTowerType] != null)
|
||||||
{
|
{
|
||||||
xFactor = (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Width - TJAPlayer3.Tx.TowerResult_Tower[currentTowerType].szテクスチャサイズ.Width) / 2;
|
xFactor = (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Width - TJAPlayer3.Tx.TowerResult_Tower[currentTowerType].szテクスチャサイズ.Width) / 2;
|
||||||
yFactor = TJAPlayer3.Tx.TowerResult_Tower[currentTowerType].szテクスチャサイズ.Height / (float)TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height;
|
yFactor = TJAPlayer3.Tx.TowerResult_Tower[currentTowerType].szテクスチャサイズ.Height / (float)TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height;
|
||||||
@ -399,6 +399,8 @@ namespace TJAPlayer3
|
|||||||
((ct待機.CurrentValue <= 1200 ? ct待機.CurrentValue / 10f : 120) / 120f * (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height - TJAPlayer3.Skin.Resolution[1]));
|
((ct待機.CurrentValue <= 1200 ? ct待機.CurrentValue / 10f : 120) / 120f * (TJAPlayer3.Tx.TowerResult_Background.szテクスチャサイズ.Height - TJAPlayer3.Skin.Resolution[1]));
|
||||||
|
|
||||||
TJAPlayer3.Tx.TowerResult_Background?.t2D描画(0, -1 * pos);
|
TJAPlayer3.Tx.TowerResult_Background?.t2D描画(0, -1 * pos);
|
||||||
|
|
||||||
|
if (currentTowerType < TJAPlayer3.Tx.TowerResult_Tower.Length)
|
||||||
TJAPlayer3.Tx.TowerResult_Tower[currentTowerType]?.t2D描画(xFactor, -1 * yFactor * pos);
|
TJAPlayer3.Tx.TowerResult_Tower[currentTowerType]?.t2D描画(xFactor, -1 * yFactor * pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -237,7 +237,7 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
this.ctSlideAnimation = new CCounter();
|
this.ctSlideAnimation = new CCounter();
|
||||||
this.ctClimbDuration = new CCounter();
|
this.ctClimbDuration = new CCounter();
|
||||||
this.ctStandingAnimation = new CCounter(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter]) / ((float)TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20), TJAPlayer3.Timer);
|
this.ctStandingAnimation = new CCounter(0, 1000, (60000f / (float)(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20)) * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
this.ctClimbingAnimation = new CCounter();
|
this.ctClimbingAnimation = new CCounter();
|
||||||
this.ctRunningAnimation = new CCounter();
|
this.ctRunningAnimation = new CCounter();
|
||||||
this.ctClearAnimation = new CCounter();
|
this.ctClearAnimation = new CCounter();
|
||||||
@ -247,6 +247,8 @@ namespace TJAPlayer3
|
|||||||
this.ctRunTiredAnimation = new CCounter();
|
this.ctRunTiredAnimation = new CCounter();
|
||||||
this.ctClearTiredAnimation = new CCounter();
|
this.ctClearTiredAnimation = new CCounter();
|
||||||
|
|
||||||
|
TowerFinished = false;
|
||||||
|
|
||||||
base.Activate();
|
base.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -414,7 +416,7 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
int nightTime = Math.Max(140, maxFloor / 2);
|
int nightTime = Math.Max(140, maxFloor / 2);
|
||||||
|
|
||||||
int currentTowerType = TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType;
|
int currentTowerType = Array.IndexOf(TJAPlayer3.Skin.Game_Tower_Names, TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType);
|
||||||
|
|
||||||
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn)
|
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn)
|
||||||
currentTowerType = 0;
|
currentTowerType = 0;
|
||||||
@ -432,10 +434,13 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
#region [Skybox]
|
#region [Skybox]
|
||||||
|
|
||||||
int skyboxYPosition = (int)((TJAPlayer3.Tx.Tower_Sky_Gradient.szテクスチャサイズ.Height - TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[1]) * (1f - (currentFloorPositionMax140 + progressFactor)));
|
//int skyboxYPosition = (int)((TJAPlayer3.Tx.Tower_Sky_Gradient.szテクスチャサイズ.Height - TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[1]) * (1f - (currentFloorPositionMax140 + progressFactor)));
|
||||||
|
|
||||||
TJAPlayer3.Tx.Tower_Sky_Gradient?.t2D描画(TJAPlayer3.Skin.Game_Tower_Sky_Gradient[0], TJAPlayer3.Skin.Game_Tower_Sky_Gradient[1],
|
//TJAPlayer3.Tx.Tower_Sky_Gradient?.t2D描画(TJAPlayer3.Skin.Game_Tower_Sky_Gradient[0], TJAPlayer3.Skin.Game_Tower_Sky_Gradient[1],
|
||||||
new Rectangle(0, skyboxYPosition, TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[0], TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[1]));
|
//new Rectangle(0, skyboxYPosition, TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[0], TJAPlayer3.Skin.Game_Tower_Sky_Gradient_Size[1]));
|
||||||
|
|
||||||
|
if (!TJAPlayer3.stage演奏ドラム画面.bPAUSE) DownScript.Update();
|
||||||
|
DownScript.Draw();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -506,23 +511,32 @@ namespace TJAPlayer3
|
|||||||
|
|
||||||
bool ctIsTired = !((CFloorManagement.CurrentNumberOfLives / (float)CFloorManagement.MaxNumberOfLives) >= 0.2f && !(CFloorManagement.CurrentNumberOfLives == 1 && CFloorManagement.MaxNumberOfLives != 1));
|
bool ctIsTired = !((CFloorManagement.CurrentNumberOfLives / (float)CFloorManagement.MaxNumberOfLives) >= 0.2f && !(CFloorManagement.CurrentNumberOfLives == 1 && CFloorManagement.MaxNumberOfLives != 1));
|
||||||
|
|
||||||
bool stageEnded = TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_演奏終了演出 || TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト;
|
bool stageEnded = TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_演奏終了演出 || TJAPlayer3.stage演奏ドラム画面.eフェーズID == CStage.Eフェーズ.演奏_STAGE_CLEAR_フェードアウト || CFloorManagement.CurrentNumberOfLives == 0;
|
||||||
|
|
||||||
if (bFloorChanged == true)
|
if (bFloorChanged == true)
|
||||||
{
|
{
|
||||||
float floorBPM = (float)(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20);
|
float floorBPM = (float)(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20);
|
||||||
ctClimbDuration.Start(0, 1500, 120f / floorBPM, TJAPlayer3.Timer);
|
ctClimbDuration.Start(0, 1500, 120f / floorBPM, TJAPlayer3.Timer);
|
||||||
ctStandingAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctStandingAnimation.Start(0, 1000, (60000f / floorBPM) * TJAPlayer3.Skin.Characters_Beat_Tower_Standing[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctClimbingAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Climbing[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctClimbingAnimation.Start(0, 1000, (120000f / floorBPM) / TJAPlayer3.Skin.Characters_Tower_Climbing_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctRunningAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Running[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctRunningAnimation.Start(0, 1000, (60000f / floorBPM) / TJAPlayer3.Skin.Characters_Tower_Running_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctClearAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Clear[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctStandTiredAnimation.Start(0, 1000, (60000f / floorBPM) * TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctFailAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Fail[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctClimbTiredAnimation.Start(0, 1000, (120000f / floorBPM) / TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctStandTiredAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Standing_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
ctRunTiredAnimation.Start(0, 1000, (60000f / floorBPM) / TJAPlayer3.Skin.Characters_Tower_Running_Tired_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
ctClimbTiredAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Climbing_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
|
||||||
ctRunTiredAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Running_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
|
||||||
ctClearTiredAnimation.Start(0, 1000, (12000f * TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[currentCharacter]) / floorBPM, TJAPlayer3.Timer);
|
|
||||||
}
|
}
|
||||||
if (ctClimbDuration.CurrentValue > 0 && ctClimbDuration.CurrentValue < 1500)
|
|
||||||
|
bool isClimbing = ctClimbDuration.CurrentValue > 0 && ctClimbDuration.CurrentValue < 1500;
|
||||||
|
|
||||||
|
if (stageEnded && !TowerFinished && !isClimbing)
|
||||||
|
{
|
||||||
|
float floorBPM = (float)(TJAPlayer3.stage演奏ドラム画面.actPlayInfo.dbBPM[0] * TJAPlayer3.ConfigIni.n演奏速度 / 20);
|
||||||
|
ctClearAnimation.Start(0, 20000, (60000f / floorBPM) * TJAPlayer3.Skin.Characters_Beat_Tower_Clear[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
|
ctClearTiredAnimation.Start(0, 20000, (60000f / floorBPM) * TJAPlayer3.Skin.Characters_Beat_Tower_Clear_Tired[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
|
ctFailAnimation.Start(0, 20000, (60000f / floorBPM) * TJAPlayer3.Skin.Characters_Beat_Tower_Fail[currentCharacter] / TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter], TJAPlayer3.Timer);
|
||||||
|
TowerFinished = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isClimbing)
|
||||||
{
|
{
|
||||||
// Tired Climb
|
// Tired Climb
|
||||||
if (ctIsTired && (ctClimbDuration.CurrentValue <= 1000) && TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[currentCharacter] > 0)
|
if (ctIsTired && (ctClimbDuration.CurrentValue <= 1000) && TJAPlayer3.Skin.Characters_Tower_Climbing_Tired_Ptn[currentCharacter] > 0)
|
||||||
@ -562,26 +576,32 @@ namespace TJAPlayer3
|
|||||||
// Fail
|
// Fail
|
||||||
if (TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives == 0)
|
if (TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives == 0)
|
||||||
{
|
{
|
||||||
int animChar = ctFailAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter];
|
int animChar = TJAPlayer3.Skin.Characters_Tower_Fail_IsLooping[currentCharacter] ?
|
||||||
|
ctFailAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter] :
|
||||||
|
Math.Min(ctFailAnimation.CurrentValue, TJAPlayer3.Skin.Characters_Tower_Fail_Ptn[currentCharacter] - 1);
|
||||||
TJAPlayer3.Tx.Characters_Tower_Fail[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
TJAPlayer3.Tx.Characters_Tower_Fail[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||||
}
|
}
|
||||||
// Tired Clear
|
// Tired Clear
|
||||||
else if (ctIsTired && stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
else if (ctIsTired && stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
||||||
{
|
{
|
||||||
int animChar = ctClearTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter];
|
int animChar = TJAPlayer3.Skin.Characters_Tower_Clear_Tired_IsLooping[currentCharacter] ?
|
||||||
|
ctClearTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter] :
|
||||||
|
Math.Min(ctClearTiredAnimation.CurrentValue, TJAPlayer3.Skin.Characters_Tower_Clear_Tired_Ptn[currentCharacter] - 1);
|
||||||
TJAPlayer3.Tx.Characters_Tower_Clear_Tired[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
TJAPlayer3.Tx.Characters_Tower_Clear_Tired[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||||
}
|
}
|
||||||
// Clear
|
// Clear
|
||||||
else if (stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
else if (stageEnded && TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter] > 0 && CFloorManagement.CurrentNumberOfLives > 0)
|
||||||
{
|
{
|
||||||
int animChar = ctClearAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter];
|
int animChar = TJAPlayer3.Skin.Characters_Tower_Clear_IsLooping[currentCharacter] ?
|
||||||
|
ctClearAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter] :
|
||||||
|
Math.Min(ctClearAnimation.CurrentValue, TJAPlayer3.Skin.Characters_Tower_Clear_Ptn[currentCharacter] - 1);
|
||||||
TJAPlayer3.Tx.Characters_Tower_Clear[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
TJAPlayer3.Tx.Characters_Tower_Clear[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tired Stand
|
// Tired Stand
|
||||||
else if (ctIsTired && TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[currentCharacter] > 0)
|
else if (ctIsTired && TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[currentCharacter] > 0)
|
||||||
{
|
{
|
||||||
int animChar = ctStandTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Standing_Ptn[currentCharacter];
|
int animChar = ctStandTiredAnimation.CurrentValue % TJAPlayer3.Skin.Characters_Tower_Standing_Tired_Ptn[currentCharacter];
|
||||||
TJAPlayer3.Tx.Characters_Tower_Standing_Tired[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]); // Center X - 50
|
TJAPlayer3.Tx.Characters_Tower_Standing_Tired[currentCharacter][animChar]?.t2D拡大率考慮下中心基準描画(TJAPlayer3.Skin.Game_Tower_Don[0], TJAPlayer3.Skin.Game_Tower_Don[1]); // Center X - 50
|
||||||
}
|
}
|
||||||
// Stand
|
// Stand
|
||||||
@ -610,12 +630,12 @@ namespace TJAPlayer3
|
|||||||
ctStandingAnimation?.TickLoop();
|
ctStandingAnimation?.TickLoop();
|
||||||
ctClimbingAnimation?.TickLoop();
|
ctClimbingAnimation?.TickLoop();
|
||||||
ctRunningAnimation?.TickLoop();
|
ctRunningAnimation?.TickLoop();
|
||||||
ctClearAnimation?.TickLoop();
|
|
||||||
ctFailAnimation?.TickLoop();
|
|
||||||
ctStandTiredAnimation?.TickLoop();
|
ctStandTiredAnimation?.TickLoop();
|
||||||
ctClimbTiredAnimation?.TickLoop();
|
ctClimbTiredAnimation?.TickLoop();
|
||||||
ctRunTiredAnimation?.TickLoop();
|
ctRunTiredAnimation?.TickLoop();
|
||||||
ctClearTiredAnimation?.TickLoop();
|
ctClearAnimation?.Tick();
|
||||||
|
ctClearTiredAnimation?.Tick();
|
||||||
|
ctFailAnimation?.Tick();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@ -687,6 +707,7 @@ namespace TJAPlayer3
|
|||||||
private CCounter ctRunTiredAnimation;
|
private CCounter ctRunTiredAnimation;
|
||||||
private CCounter ctClearTiredAnimation;
|
private CCounter ctClearTiredAnimation;
|
||||||
private CCounter ctClimbDuration;
|
private CCounter ctClimbDuration;
|
||||||
|
private bool TowerFinished;
|
||||||
|
|
||||||
private CCounter ct炎;
|
private CCounter ct炎;
|
||||||
|
|
||||||
|
@ -1434,7 +1434,7 @@ namespace TJAPlayer3
|
|||||||
int xFactor = 0;
|
int xFactor = 0;
|
||||||
float yFactor = 1f;
|
float yFactor = 1f;
|
||||||
|
|
||||||
int currentTowerType = TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType;
|
int currentTowerType = Array.IndexOf(TJAPlayer3.Skin.Game_Tower_Names, TJAPlayer3.stage選曲.r確定された曲.arスコア[5].譜面情報.nTowerType);
|
||||||
|
|
||||||
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn_Result)
|
if (currentTowerType < 0 || currentTowerType >= TJAPlayer3.Skin.Game_Tower_Ptn_Result)
|
||||||
currentTowerType = 0;
|
currentTowerType = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user