18 #include <vlpi/disEnums.h>
20 #include <vlutil/vlMachineTypes.h>
21 #include <vlutil/vlString.h>
28 class DtSharedSettingsManager;
30 #define FRIENDLY_COLOR .5f,224.f / 255.f, 1.f ,0.8f
31 #define FRIENDLY_PRIMARY_COLOR 0.f, 0.f, 1.f, 0.8f
32 #define OPPOSING_COLOR 1.f,.5f,.5f,0.8f
33 #define OPPOSING_PRIMARY_COLOR 1.f, 0.f, 0.f, 0.8f
34 #define NEUTRAL_COLOR 170.f / 255.f,1.f, 170.f / 255.f,0.8f
35 #define NEUTRAL_PRIMARY_COLOR 0.f, 1.f, 0.f, 0.8f
36 #define UNKNOWN_COLOR 1.f, 1.f, .5f, 0.8f
37 #define UNKNOWN_PRIMARY_COLOR 1.f, 1.f, 0.f, 0.8f
49 : R(r), G(g), B(b), A(a)
54 : R(0.f), G(0.f), B(0.f), A(0.f)
69 static std::string className();
73 virtual void addForce(DtForceType force,
const std::string& forceName,
75 bool includeInDialogs =
true);
78 virtual DtForceType nextAvailableId();
81 virtual void removeForce(DtForceType);
84 virtual int numForces()
const;
87 virtual DtForceType forceAt(
int iIndex)
const;
90 virtual RGBAColor colorForForce(DtForceType force,
91 bool usePrimaryColors=
false)
const;
94 virtual std::string nameForForce(DtForceType force)
const;
97 virtual DtForceType forceFromName(
const std::string& name)
const;
100 virtual bool includeInDialogs(DtForceType force)
const;
104 virtual void setHostility(DtU8 force, DtU8 targetForce,
bool hostile);
105 virtual bool hostile(DtU8 force, DtU8 targetForce);
109 virtual void clearForces();
123 virtual const ForceInfo& forceInformation(DtForceType force)
const;
124 virtual ForceInfo& forceInformation(DtForceType force);