124 lines
3.7 KiB
C#
124 lines
3.7 KiB
C#
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
|
|
namespace BrewMonster
|
|
{
|
|
public class CECTaoistRank
|
|
{
|
|
private int m_id; // ���漶���ID
|
|
private string m_name; // ���漶���ID
|
|
private CECTaoistRank m_next;
|
|
|
|
static bool initComplete = false;
|
|
public static CECTaoistRank[] s_allTaoistRanks = new CECTaoistRank[(int)ToaistRank.TotalRankCount];
|
|
public static readonly int[] TaoistRankIDs = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 20, 21, 22, 30, 31, 32 };
|
|
|
|
public bool IsGodRank()
|
|
{
|
|
|
|
CECTaoistRank GodRank;
|
|
for (GodRank = GetGodRankBegin(); GodRank != GetGodRankEnd();
|
|
GodRank = GodRank.GetNext())
|
|
{
|
|
if (this == GodRank)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
public CECTaoistRank GetGodRankBegin()
|
|
{
|
|
init();
|
|
return s_allTaoistRanks[(int)ToaistRank.BaseRankCount];
|
|
}
|
|
|
|
public CECTaoistRank GetGodRankEnd()
|
|
{
|
|
init();
|
|
return GetLastGodRank().m_next;
|
|
}
|
|
public CECTaoistRank GetLastGodRank()
|
|
{
|
|
init();
|
|
return s_allTaoistRanks[(int)ToaistRank.BaseRankCount + (int)ToaistRank.GodRankCount - 1];
|
|
}
|
|
public bool IsEvilRank()
|
|
{
|
|
CECTaoistRank EvilRank;
|
|
for (EvilRank = GetEvilRankBegin(); EvilRank != GetEvilRankEnd();
|
|
EvilRank = EvilRank.GetNext())
|
|
{
|
|
if (this == EvilRank)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
public CECTaoistRank GetNext()
|
|
{
|
|
return m_next;
|
|
}
|
|
public static CECTaoistRank GetEvilRankBegin()
|
|
{
|
|
init();
|
|
return s_allTaoistRanks[(int)ToaistRank.BaseRankCount + (int)ToaistRank.GodRankCount];
|
|
}
|
|
public static CECTaoistRank GetEvilRankEnd()
|
|
{
|
|
init();
|
|
return GetLastEvilRank().m_next;
|
|
}
|
|
public static CECTaoistRank GetLastEvilRank()
|
|
{
|
|
init();
|
|
return s_allTaoistRanks[(int)ToaistRank.TotalRankCount - 1];
|
|
}
|
|
public static CECTaoistRank GetTaoistRank(int id)
|
|
{
|
|
init();
|
|
for (int i = 0; i < (int)ToaistRank.TotalRankCount; i++)
|
|
{
|
|
if (TaoistRankIDs[i] == id)
|
|
{
|
|
return s_allTaoistRanks[i];
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
public static void init()
|
|
{
|
|
if (initComplete)
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < (int)ToaistRank.TotalRankCount; i++)
|
|
{
|
|
s_allTaoistRanks[i].m_id = TaoistRankIDs[i];
|
|
/* s_allTaoistRanks[i].m_name =
|
|
g_pGame->GetGameRun()->GetUIManager()->GetInGameUIMan()->GetStringFromTable(1001 + s_allTaoistRanks[i].m_id);*/
|
|
if (i != (int)ToaistRank.BaseRankCount - 1 &&
|
|
i != (int)ToaistRank.BaseRankCount + (int)ToaistRank.GodRankCount - 1 &&
|
|
i != (int)ToaistRank.TotalRankCount - 1)
|
|
{
|
|
s_allTaoistRanks[i].m_next = s_allTaoistRanks[i + 1];
|
|
}
|
|
else
|
|
{
|
|
s_allTaoistRanks[i].m_next = null;
|
|
}
|
|
}
|
|
initComplete = true;
|
|
}
|
|
|
|
}
|
|
public enum ToaistRank
|
|
{
|
|
TotalRankCount = 15,
|
|
BaseRankCount = 9,
|
|
GodRankCount = 3,
|
|
EvilRankCount = 3,
|
|
};
|
|
}
|