18 #ifndef INCLUDED_ICMPRANGEMANAGER 19 #define INCLUDED_ICMPRANGEMANAGER 135 const std::vector<int>& owners,
int requiredInterface,
bool accountForSize) = 0;
148 const std::vector<int>& owners,
int requiredInterface,
bool accountForSize) = 0;
162 const std::vector<int>& owners,
int requiredInterface,
u8 flags,
bool accountForSize) = 0;
180 const std::vector<int>& owners,
int requiredInterface,
u8 flags) = 0;
206 virtual void DestroyActiveQuery(tag_t tag) = 0;
212 virtual void EnableActiveQuery(tag_t tag) = 0;
218 virtual void DisableActiveQuery(tag_t tag) = 0;
224 virtual bool IsActiveQueryEnabled(tag_t tag)
const = 0;
233 virtual std::vector<entity_id_t> ResetActiveQuery(tag_t tag) = 0;
241 virtual std::vector<entity_id_t> GetEntitiesByPlayer(
player_id_t player)
const = 0;
246 virtual std::vector<entity_id_t> GetNonGaiaEntities()
const = 0;
251 virtual std::vector<entity_id_t> GetGaiaAndNonGaiaEntities()
const = 0;
256 virtual void SetDebugOverlay(
bool enabled) = 0;
261 virtual u8 GetEntityFlagMask(
const std::string& identifier)
const = 0;
269 virtual void SetEntityFlag(
entity_id_t ent,
const std::string& identifier,
bool value) = 0;
285 virtual void ActivateScriptedVisibility(
entity_id_t ent,
bool status) = 0;
305 virtual void RequestVisibilityUpdate(
entity_id_t ent) = 0;
329 virtual void ExploreTerritories() = 0;
343 virtual void SetLosRevealAll(
player_id_t player,
bool enabled) = 0;
348 virtual bool GetLosRevealAll(
player_id_t player)
const = 0;
353 virtual void SetLosCircular(
bool enabled) = 0;
358 virtual bool GetLosCircular()
const = 0;
363 virtual void SetSharedLos(
player_id_t player,
const std::vector<player_id_t>& players) = 0;
373 virtual u8 GetPercentMapExplored(
player_id_t player)
const = 0;
379 virtual u8 GetUnionPercentMapExplored(
const std::vector<player_id_t>& players)
const = 0;
384 virtual size_t GetVerticesPerSide()
const = 0;
389 virtual void Verify() = 0;
394 #endif // INCLUDED_ICMPRANGEMANAGER Definition: IComponent.h:32
A simple fixed-point number class.
Definition: Fixed.h:119
const entity_pos_t NEVER_IN_RANGE
Value assigned to a range we will never be in (caused by out of world or "too high" in parabolic rang...
Definition: ICmpRangeManager.h:42
Definition: FixedVector2D.h:24
Object wrapping an entity_id_t, with a SEntityComponentCache to support fast QueryInterface() / CmpPt...
Definition: Entity.h:79
Provides efficient range-based queries of the game world, and also LOS-based effects (fog of war)...
Definition: ICmpRangeManager.h:103
uint8_t u8
Definition: types.h:37
int32_t player_id_t
valid player IDs are non-negative (see ICmpOwnership)
Definition: Player.h:24
LosVisibility
Since GetVisibility queries are run by the range manager other code using these must include ICmpRang...
Definition: ICmpRangeManager.h:50
uint32_t u32
Definition: types.h:39
A basic square subdivision scheme for finding entities in range More efficient than SpatialSubdivisio...
Definition: Spatial.h:366
Definition: FixedVector3D.h:24
#define DECLARE_INTERFACE_TYPE(iname)
Definition: Interface.h:23
Definition: CCmpRangeManager.cpp:220
static constexpr CFixed FromInt(int n)
Definition: Fixed.h:140
u32 entity_id_t
Entity ID type.
Definition: Entity.h:23
u32 tag_t
External identifiers for active queries.
Definition: ICmpRangeManager.h:109
Object providing efficient abstracted access to the LOS state.
Definition: Los.h:46
const entity_pos_t ALWAYS_IN_RANGE
Value assigned to a range we will always be in (caused by out of world or "too high" in parabolic ran...
Definition: ICmpRangeManager.h:36