refactor(unit): moved data update code from initialize to update; made initialize and update final

This commit is contained in:
MarcoJayUsai 2024-11-19 13:58:16 +01:00
parent 064c24e023
commit 89051c3e85
2 changed files with 8 additions and 24 deletions

View File

@ -19,12 +19,12 @@ public:
~Unit();
/********** Methods **********/
void initialize(json::value json);
virtual void initialize(json::value json) final;
virtual void setDefaults(bool force = false);
void runAILoop();
void update(json::value json, double dt);
virtual void update(json::value json, double dt) final;
void refreshLeaderData(unsigned long long time);
unsigned int getID() { return ID; }

View File

@ -28,28 +28,6 @@ Unit::~Unit()
void Unit::initialize(json::value json)
{
if (json.has_string_field(L"name"))
setName(to_string(json[L"name"]));
if (json.has_string_field(L"unitName"))
setUnitName(to_string(json[L"unitName"]));
if (json.has_string_field(L"groupName"))
setGroupName(to_string(json[L"groupName"]));
if (json.has_string_field(L"callsign"))
setCallsign(to_string(json[L"callsign"]));
if (json.has_number_field(L"coalitionID"))
setCoalition(json[L"coalitionID"].as_number().to_int32());
//if (json.has_number_field(L"Country"))
// setCountry(json[L"Country"].as_number().to_int32());
/* All units which contain the name "Olympus" are automatically under AI control */
if (getUnitName().find("Olympus") != string::npos)
setControlled(true);
update(json, 0);
setDefaults();
}
@ -71,6 +49,12 @@ void Unit::update(json::value json, double dt)
if (json.has_number_field(L"coalitionID"))
setCoalition(json[L"coalitionID"].as_number().to_int32());
//if (json.has_number_field(L"Country"))
// setCountry(json[L"Country"].as_number().to_int32());
/* All units which contain the name "Olympus" are automatically under AI control */
if (getUnitName().find("Olympus") != string::npos)
setControlled(true);
if (json.has_object_field(L"position"))
{