Pyrogenesis  trunk
Public Member Functions | Static Public Attributes | List of all members
ICmpTerritoryManager Class Referenceabstract

#include <ICmpTerritoryManager.h>

Inheritance diagram for ICmpTerritoryManager:
Inheritance graph
[legend]
Collaboration diagram for ICmpTerritoryManager:
Collaboration graph
[legend]

Public Member Functions

virtual bool NeedUpdate (size_t *dirtyID) const =0
 
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< u32GetNeighbours (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...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void Init (const CParamNode &paramNode)=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 CSimContextGetSimContext () const
 
void SetSimContext (const CSimContext &context)
 
virtual void Serialize (ISerializer &serialize)=0
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)=0
 
virtual bool NewJSObject (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 Attributes

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
 

Additional Inherited Members

- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static u8 GetSerializationVersion ()
 

Member Function Documentation

virtual std::vector<u32> ICmpTerritoryManager::GetNeighbours ( entity_pos_t  x,
entity_pos_t  z,
bool  filterConnected 
)
pure virtual

get the number of neighbour tiles for per player for the selected position

Returns
A list with the number of neighbour tiles per player

Implemented in CCmpTerritoryManager.

virtual player_id_t ICmpTerritoryManager::GetOwner ( entity_pos_t  x,
entity_pos_t  z 
)
pure virtual

Get owner of territory at given position.

Returns
player ID of owner; 0 if neutral territory

Implemented in CCmpTerritoryManager.

virtual const Grid<u8>& ICmpTerritoryManager::GetTerritoryGrid ( )
pure virtual

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).

Implemented in CCmpTerritoryManager.

virtual u8 ICmpTerritoryManager::GetTerritoryPercentage ( player_id_t  player)
pure virtual

Returns the percentage of the world controlled by a given player as defined by the number of territory cells the given player owns.

Implemented in CCmpTerritoryManager.

virtual bool ICmpTerritoryManager::IsConnected ( entity_pos_t  x,
entity_pos_t  z 
)
pure virtual

Get whether territory at given position is connected to a root object (civ center etc) owned by that territory's player.

Implemented in CCmpTerritoryManager.

virtual bool ICmpTerritoryManager::IsTerritoryBlinking ( entity_pos_t  x,
entity_pos_t  z 
)
pure virtual

Check if a piece of territory is blinking.

Implemented in CCmpTerritoryManager.

virtual bool ICmpTerritoryManager::NeedUpdate ( size_t *  dirtyID) const
pure virtual

Implemented in CCmpTerritoryManager.

virtual void ICmpTerritoryManager::SetTerritoryBlinking ( entity_pos_t  x,
entity_pos_t  z,
bool  enable 
)
pure virtual

Set a piece of territory to blinking.

Must be updated on every territory calculation

Implemented in CCmpTerritoryManager.

virtual void ICmpTerritoryManager::SetVisibility ( bool  visible)
pure virtual

Enables or disables rendering of an territory borders.

Implemented in CCmpTerritoryManager.

Member Data Documentation

const int ICmpTerritoryManager::NAVCELLS_PER_TERRITORY_TILE = 8
static

Number of pathfinder navcells per territory tile.

Passability data is stored per navcell, but we probably don't need that much resolution, and a lower resolution can make the boundary lines look prettier and will take less memory, so we downsample the passability data.

const int ICmpTerritoryManager::TERRITORY_BLINKING_MASK = 0x40
static
const int ICmpTerritoryManager::TERRITORY_CONNECTED_MASK = 0x20
static
const int ICmpTerritoryManager::TERRITORY_PLAYER_MASK = 0x1F
static
const int ICmpTerritoryManager::TERRITORY_PROCESSED_MASK = 0x80
static

The documentation for this class was generated from the following file: