#include "Stats.h"
+#include "../loader/TypeDescription.h"
+
+using loader::FieldDescription;
+using loader::TypeDescription;
+
namespace battle {
Stats::Stats()
, strength(0)
, agility(0)
, intelligence(0)
-, gut(0)
-, magicResistance(0) {
+, magicResistance(0)
+, gut(0) {
}
, strength(strength)
, agility(agility)
, intelligence(intelligence)
-, gut(gut)
-, magicResistance(magicResistance) {
+, magicResistance(magicResistance)
+, gut(gut) {
+
+}
+
+
+void Stats::CreateTypeDescription() {
+ Stats s;
+
+ int numberId(TypeDescription::GetTypeId("Number"));
+
+ TypeDescription &td(TypeDescription::CreateOrGet("Stats"));
+ td.SetConstructor(&Construct);
+ td.SetSize(sizeof(Stats));
+
+ td.AddField("atp", FieldDescription(((char *)&s.attack) - ((char *)&s), numberId, false));
+ td.AddField("dfp", FieldDescription(((char *)&s.defense) - ((char *)&s), numberId, false));
+ td.AddField("str", FieldDescription(((char *)&s.strength) - ((char *)&s), numberId, false));
+ td.AddField("agl", FieldDescription(((char *)&s.agility) - ((char *)&s), numberId, false));
+ td.AddField("int", FieldDescription(((char *)&s.intelligence) - ((char *)&s), numberId, false));
+ td.AddField("gut", FieldDescription(((char *)&s.gut) - ((char *)&s), numberId, false));
+ td.AddField("mgr", FieldDescription(((char *)&s.magicResistance) - ((char *)&s), numberId, false));
+}
+void Stats::Construct(void *data) {
+ new (data) Stats;
}
}