Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
Classes | |
struct | SBoundaryLine |
Public Member Functions | |
int | GetComponentTypeId () const override |
void | Init (const CParamNode ¶mNode) override |
void | Deinit () override |
void | Serialize (ISerializer &serialize) override |
void | Deserialize (const CParamNode ¶mNode, IDeserializer &deserialize) override |
void | HandleMessage (const CMessage &msg, bool global) override |
void | MakeDirtyIfRelevantEntity (entity_id_t ent) |
const Grid< u8 > & | GetTerritoryGrid () override |
For each tile, the TERRITORY_PLAYER_MASK bits are player ID; TERRITORY_CONNECTED_MASK is set if the tile is connected to a root object (civ center etc). More... | |
player_id_t | GetOwner (entity_pos_t x, entity_pos_t z) override |
Get owner of territory at given position. More... | |
std::vector< u32 > | GetNeighbours (entity_pos_t x, entity_pos_t z, bool filterConnected) override |
get the number of neighbour tiles for per player for the selected position More... | |
bool | IsConnected (entity_pos_t x, entity_pos_t z) override |
Get whether territory at given position is connected to a root object (civ center etc) owned by that territory's player. More... | |
void | SetTerritoryBlinking (entity_pos_t x, entity_pos_t z, bool enable) override |
Set a piece of territory to blinking. More... | |
bool | IsTerritoryBlinking (entity_pos_t x, entity_pos_t z) override |
Check if a piece of territory is blinking. More... | |
void | MakeDirty () |
bool | NeedUpdateTexture (size_t *dirtyID) override |
Returns whether the territory texture needs to be updated. More... | |
bool | NeedUpdateAI (size_t *dirtyID, size_t *dirtyBlinkingID) const override |
Returns whether the AI territory map needs to be updated. More... | |
void | CalculateCostGrid () |
void | CalculateTerritories () |
u8 | GetTerritoryPercentage (player_id_t player) override |
Returns the percentage of the world controlled by a given player as defined by the number of territory cells the given player owns. More... | |
std::vector< STerritoryBoundary > | ComputeBoundaries () |
void | UpdateBoundaryLines () |
void | Interpolate (float frameTime, float frameOffset) |
void | RenderSubmit (SceneCollector &collector, const CFrustum &frustum, bool culling) |
void | SetVisibility (bool visible) override |
Enables or disables rendering of an territory borders. More... | |
void | UpdateColors () override |
Updates the boundary and territory colors. More... | |
virtual bool | NeedUpdateTexture (size_t *dirtyID)=0 |
Returns whether the territory texture needs to be updated. More... | |
virtual bool | NeedUpdateAI (size_t *dirtyID, size_t *dirtyBlinkingID) const =0 |
Returns whether the AI territory map needs to be updated. More... | |
virtual const Grid< u8 > & | GetTerritoryGrid ()=0 |
For each tile, the TERRITORY_PLAYER_MASK bits are player ID; TERRITORY_CONNECTED_MASK is set if the tile is connected to a root object (civ center etc). More... | |
virtual player_id_t | GetOwner (entity_pos_t x, entity_pos_t z)=0 |
Get owner of territory at given position. More... | |
virtual std::vector< u32 > | GetNeighbours (entity_pos_t x, entity_pos_t z, bool filterConnected)=0 |
get the number of neighbour tiles for per player for the selected position More... | |
virtual bool | IsConnected (entity_pos_t x, entity_pos_t z)=0 |
Get whether territory at given position is connected to a root object (civ center etc) owned by that territory's player. More... | |
virtual void | SetTerritoryBlinking (entity_pos_t x, entity_pos_t z, bool enable)=0 |
Set a piece of territory to blinking. More... | |
virtual bool | IsTerritoryBlinking (entity_pos_t x, entity_pos_t z)=0 |
Check if a piece of territory is blinking. More... | |
virtual u8 | GetTerritoryPercentage (player_id_t player)=0 |
Returns the percentage of the world controlled by a given player as defined by the number of territory cells the given player owns. More... | |
virtual void | SetVisibility (bool visible)=0 |
Enables or disables rendering of an territory borders. More... | |
virtual void | UpdateColors ()=0 |
Updates the boundary and territory colors. More... | |
Public Member Functions inherited from IComponent | |
virtual | ~IComponent () |
virtual void | Init (const CParamNode ¶mNode)=0 |
virtual void | Deinit ()=0 |
virtual void | HandleMessage (const CMessage &msg, bool global) |
CEntityHandle | GetEntityHandle () const |
void | SetEntityHandle (CEntityHandle ent) |
entity_id_t | GetEntityId () const |
CEntityHandle | GetSystemEntity () const |
const CSimContext & | GetSimContext () const |
void | SetSimContext (const CSimContext &context) |
virtual void | Serialize (ISerializer &serialize)=0 |
virtual void | Deserialize (const CParamNode ¶mNode, IDeserializer &deserialize)=0 |
virtual bool | NewJSObject (const ScriptInterface &scriptInterface, JS::MutableHandleObject out) const |
Returns false by default, indicating that a scripted wrapper of this IComponent is not supported. More... | |
virtual JS::Value | GetJSInstance () const |
virtual int | GetComponentTypeId () const =0 |
Static Public Member Functions | |
static void | ClassInit (CComponentManager &componentManager) |
static IComponent * | Allocate (const ScriptInterface &, JS::HandleValue) |
static void | Deallocate (IComponent *cmp) |
static std::string | GetSchema () |
Static Public Member Functions inherited from IComponent | |
static std::string | GetSchema () |
static void | RegisterComponentType (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
static void | RegisterComponentTypeScriptWrapper (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
static u8 | GetSerializationVersion () |
Public Attributes | |
u8 | m_ImpassableCost |
float | m_BorderThickness |
float | m_BorderSeparation |
Grid< u8 > * | m_Territories |
std::vector< u16 > | m_TerritoryCellCounts |
u16 | m_TerritoryTotalPassableCellCount |
Grid< u8 > * | m_CostGrid |
bool | m_TriggerEvent |
std::vector< SBoundaryLine > | m_BoundaryLines |
bool | m_BoundaryLinesDirty |
double | m_AnimTime |
TerritoryOverlay * | m_DebugOverlay |
bool | m_EnableLineDebugOverlays |
Enable node debugging overlays for boundary lines? More... | |
std::vector< SOverlayLine > | m_DebugBoundaryLineNodes |
size_t | m_DirtyID |
size_t | m_DirtyBlinkingID |
bool | m_ColorChanged |
Private Attributes | |
bool | m_Visible |
Additional Inherited Members | |
Public Types inherited from IComponent | |
using | AllocFunc = IComponent *(*)(const ScriptInterface &scriptInterface, JS::HandleValue ctor) |
using | DeallocFunc = void(*)(IComponent *) |
Static Public Attributes inherited from ICmpTerritoryManager | |
static const int | NAVCELLS_PER_TERRITORY_TILE = 8 |
Number of pathfinder navcells per territory tile. More... | |
static const int | TERRITORY_PLAYER_MASK = 0x1F |
static const int | TERRITORY_CONNECTED_MASK = 0x20 |
static const int | TERRITORY_BLINKING_MASK = 0x40 |
static const int | TERRITORY_PROCESSED_MASK = 0x80 |
|
inlinestatic |
void CCmpTerritoryManager::CalculateCostGrid | ( | ) |
void CCmpTerritoryManager::CalculateTerritories | ( | ) |
|
inlinestatic |
std::vector< STerritoryBoundary > CCmpTerritoryManager::ComputeBoundaries | ( | ) |
|
inlinestatic |
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Implements IComponent.
|
overridevirtual |
get the number of neighbour tiles for per player for the selected position
Implements ICmpTerritoryManager.
|
overridevirtual |
Get owner of territory at given position.
Implements ICmpTerritoryManager.
|
inlinestatic |
For each tile, the TERRITORY_PLAYER_MASK bits are player ID; TERRITORY_CONNECTED_MASK is set if the tile is connected to a root object (civ center etc).
Implements ICmpTerritoryManager.
|
overridevirtual |
Returns the percentage of the world controlled by a given player as defined by the number of territory cells the given player owns.
Implements ICmpTerritoryManager.
|
inlineoverridevirtual |
Reimplemented from IComponent.
|
inlineoverridevirtual |
Implements IComponent.
void CCmpTerritoryManager::Interpolate | ( | float | frameTime, |
float | frameOffset | ||
) |
|
overridevirtual |
Get whether territory at given position is connected to a root object (civ center etc) owned by that territory's player.
Implements ICmpTerritoryManager.
|
overridevirtual |
Check if a piece of territory is blinking.
Implements ICmpTerritoryManager.
|
inline |
|
inline |
|
inlineoverridevirtual |
Returns whether the AI territory map needs to be updated.
Implements ICmpTerritoryManager.
|
inlineoverridevirtual |
Returns whether the territory texture needs to be updated.
Implements ICmpTerritoryManager.
void CCmpTerritoryManager::RenderSubmit | ( | SceneCollector & | collector, |
const CFrustum & | frustum, | ||
bool | culling | ||
) |
|
inlineoverridevirtual |
Implements IComponent.
|
overridevirtual |
Set a piece of territory to blinking.
Must be updated on every territory calculation
Implements ICmpTerritoryManager.
|
inlineoverridevirtual |
Enables or disables rendering of an territory borders.
Implements ICmpTerritoryManager.
void CCmpTerritoryManager::UpdateBoundaryLines | ( | ) |
|
overridevirtual |
Updates the boundary and territory colors.
Implements ICmpTerritoryManager.
double CCmpTerritoryManager::m_AnimTime |
float CCmpTerritoryManager::m_BorderSeparation |
float CCmpTerritoryManager::m_BorderThickness |
std::vector<SBoundaryLine> CCmpTerritoryManager::m_BoundaryLines |
bool CCmpTerritoryManager::m_BoundaryLinesDirty |
bool CCmpTerritoryManager::m_ColorChanged |
std::vector<SOverlayLine> CCmpTerritoryManager::m_DebugBoundaryLineNodes |
TerritoryOverlay* CCmpTerritoryManager::m_DebugOverlay |
size_t CCmpTerritoryManager::m_DirtyBlinkingID |
size_t CCmpTerritoryManager::m_DirtyID |
bool CCmpTerritoryManager::m_EnableLineDebugOverlays |
Enable node debugging overlays for boundary lines?
u8 CCmpTerritoryManager::m_ImpassableCost |
std::vector<u16> CCmpTerritoryManager::m_TerritoryCellCounts |
u16 CCmpTerritoryManager::m_TerritoryTotalPassableCellCount |
bool CCmpTerritoryManager::m_TriggerEvent |
|
private |