#pragma once #include "node.h" #include "cstr.h" #include "resource.h" #include "scalar.h" class NotationFile; struct ScenarioRole__ModelResource { Scalar killBonus, damageReceivedModifier, damageInflictedModifier, damageBias, friendlyFirePenalty; int returnFromDeath; }; class ScenarioRole : public Node { public: Scalar CalcDamageReceivedScore(const Scalar &damage_received); protected: Scalar damageInflictedModifier, damageReceivedModifier, friendlyFirePenalty, damageBias, killBonus; CString roleName; int returnFromDeath; public: const int GetReturnFromDeath() { Check(this); return returnFromDeath; } Scalar GetDamageInflictedModifier() const { Check(this); return damageInflictedModifier; } Scalar GetDamageReceivedModifier() const { Check(this); return damageReceivedModifier; } Scalar GetFriendlyFirePenalty() const { Check(this); return friendlyFirePenalty; } Scalar GetDamageBias() const { Check(this); return damageBias; } Scalar GetKillBonus() const { Check(this); return killBonus; } CString GetRoleName() const { Check(this); return roleName; } void SetDamageInflictedModifier(const Scalar &value) { Check(this); damageInflictedModifier = value; } void SetDamageReceivedModifier(const Scalar value) { Check(this); damageReceivedModifier = value; } void SetFriendlyFirePenalty(const Scalar &value) { Check(this); friendlyFirePenalty = value; } void SetDamageBias(const Scalar &value) { Check(this); damageBias = value; } void SetKillBonus(const Scalar &value) { Check(this); killBonus = value; } void SetReturnFromDeath(const int &value) { Check(this); returnFromDeath = value; } public: typedef ScenarioRole__ModelResource ModelResource; ScenarioRole(const CString &role_name, const CString &model_file); ScenarioRole(const CString &role_name); ~ScenarioRole(); static ResourceDescription::ResourceID CreateModelResource(ResourceFile *resource_file, const char* model_name, NotationFile * model_file, const ResourceDirectories *directories, ModelResource *model = NULL); };