即使选择了“战士”,也只给予“法师”。我似乎不知道为什么。有没有人有想法?
void OnGUI(){
isMageClass = GUILayout.Toggle(isMageClass, "Mage Class");
isWarriorClass = GUILayout.Toggle(isWarriorClass, "Warrior Class");
if(GUILayout.Button("Create")){
if(isMageClass)
{
newPlayer.PlayerClass = new BaseMageClass();
}else if (isWarriorClass)
{
newPlayer.PlayerClass = new BaseWarriorClass();
}
newPlayer.PlayerLevel = 1;
newPlayer.Stamina = newPlayer.PlayerClass.Stamina;
newPlayer.Endurance = newPlayer.PlayerClass.Endurance;
newPlayer.Intellect = newPlayer.PlayerClass.Intellect;
newPlayer.Strength = newPlayer.PlayerClass.Strength;
Debug.Log("player Class: " + newPlayer.PlayerClass.CharacterClassName);
Debug.Log("player level: " + newPlayer.PlayerLevel);
Debug.Log("player Stamina: " + newPlayer.Stamina);
Debug.Log("player Endurance: " + newPlayer.Endurance);
Debug.Log("player Intellect: " + newPlayer.Intellect);
Debug.Log("player Strength: " + newPlayer.Strength);
}
}
答案 0 :(得分:0)
由于'isMageClass'已定义,因此将采用
if(isMageClass)
{
newPlayer.PlayerClass = new BaseMageClass();
}
每一次,甚至从未看过
else if (isWarriorClass)
{
newPlayer.PlayerClass = new BaseWarriorClass();
}
我很惊讶你在使用调试器时没有发现它(请告诉我你使用调试器......请!)