Class ability descriptions added. Full render image paths now defined. Moved some class information around.
parent
0fdfa65ddf
commit
e189d4b516
@ -0,0 +1,74 @@ |
||||
#pragma once |
||||
#include <string> |
||||
#include "Player.h" |
||||
|
||||
INCLUDE_DATA |
||||
|
||||
struct ClassInfo{ |
||||
std::string className; |
||||
std::string classFullImgName; |
||||
int baseHealth; |
||||
int baseAtk; |
||||
float healthGrowthRate; |
||||
float atkGrowthRate; |
||||
Ability*ability1; |
||||
Ability*ability2; |
||||
Ability*ability3; |
||||
Ability*rightClickAbility; |
||||
}; |
||||
|
||||
class classutils{ |
||||
public: |
||||
static inline ClassInfo GetClassInfo(std::string className){ |
||||
ClassInfo data{ |
||||
DATA.GetProperty(className+".ClassName").GetString(), |
||||
DATA.GetProperty(className+".FullRender").GetString(), |
||||
DATA.GetProperty(className+".BaseHealth").GetInt(), |
||||
DATA.GetProperty(className+".BaseAtk").GetInt(), |
||||
float(DATA.GetProperty(className+".HealthGrowthRate").GetReal()), |
||||
float(DATA.GetProperty(className+".AtkGrowthRate").GetReal()) |
||||
}; |
||||
|
||||
if(className=="Warrior"){ |
||||
data.rightClickAbility=&Warrior::rightClickAbility; |
||||
data.ability1=&Warrior::ability1; |
||||
data.ability2=&Warrior::ability2; |
||||
data.ability3=&Warrior::ability3; |
||||
}else |
||||
if(className=="Wizard"){ |
||||
data.rightClickAbility=&Wizard::rightClickAbility; |
||||
data.ability1=&Wizard::ability1; |
||||
data.ability2=&Wizard::ability2; |
||||
data.ability3=&Wizard::ability3; |
||||
}else |
||||
if(className=="Ranger"){ |
||||
data.rightClickAbility=&Ranger::rightClickAbility; |
||||
data.ability1=&Ranger::ability1; |
||||
data.ability2=&Ranger::ability2; |
||||
data.ability3=&Ranger::ability3; |
||||
}else |
||||
if(className=="Trapper"){ |
||||
data.rightClickAbility=&Trapper::rightClickAbility; |
||||
data.ability1=&Trapper::ability1; |
||||
data.ability2=&Trapper::ability2; |
||||
data.ability3=&Trapper::ability3; |
||||
}else |
||||
if(className=="Witch"){ |
||||
data.rightClickAbility=&Witch::rightClickAbility; |
||||
data.ability1=&Witch::ability1; |
||||
data.ability2=&Witch::ability2; |
||||
data.ability3=&Witch::ability3; |
||||
}else |
||||
if(className=="Thief"){ |
||||
data.rightClickAbility=&Thief::rightClickAbility; |
||||
data.ability1=&Thief::ability1; |
||||
data.ability2=&Thief::ability2; |
||||
data.ability3=&Thief::ability3; |
||||
}else{ |
||||
std::cout<<"WARNING! Could not get class info for non-existent class "+className+"!"; |
||||
throw; |
||||
} |
||||
|
||||
return data; |
||||
} |
||||
}; |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 1.1 KiB |
Loading…
Reference in new issue