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