class
cGameViewManager
Base classes
- class Graphics::ILayer
- This interfaces defines a layer that is rendered every game loop, by callings its ILayer::
DrawLayer() method. - class App::IMessageListener
- An interface that can receive messages sent through the app.
- class cStrategy
Public static variables
-
static const uint32_
t GraphicsWorldID - The ID used for the Simulator model world, effects world.
-
static const uint32_
t LightingWorldID - The ID used for the Simulator lighting world, effects world.
Public static functions
- static auto Get() -> cGameViewManager*
- Gets the active game view manager.
Public functions
- auto func10h_() -> void virtual
- auto PrepareSimulator() -> void virtual
- auto func18h_() -> void virtual
- auto func1Ch_() -> void virtual
- auto func20h_() -> void virtual
- auto func24h_() -> void virtual
- auto func28h_() -> void virtual
- auto func2Ch_() -> void virtual
- auto GetHoveredObject() -> cGameData* virtual
- auto func34h_() -> int virtual
- auto func38h_(int, struct Vector3) -> Vector3 virtual
- auto func3Ch_(int) -> Vector3 virtual
- auto GetWorldMousePosition(int = 0, cCombatant* pCombanant = nullptr) -> Vector3 virtual
- auto func44h_() -> void virtual
-
auto IntersectSphere(const Vector3& center,
float radius,
eastl::vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false,
Graphics::
ModelPredicate_t filter = nullptr, void* filterObject = nullptr) -> bool virtual - Finds all the cSpatialObject objects that intersect with the sphere with
center
andradius
. - auto RaycastAll(const Vector3& point1, const Vector3& point2, eastl::vector<cSpatialObjectPtr>& dst, bool useModelCollisionMode = false) -> bool virtual
- Finds all the cSpatialObject objects that intersect with the segment between
point1
andpoint2
. -
auto Raycast(const Vector3& point1,
const Vector3& point2,
Graphics::
FilterSettings:: FilterModel_t filter, cGameDataPtr& dst, Vector3& dstIntersection, bool useModelCollisionMode = false) -> bool virtual - Finds the first cGameData object that intersects with the segment between
point1
andpoint2
. - auto GetObjectView(cGameData* pObject) -> IGameDataView virtual
Public variables
- eastl::intrusive_list<IGameDataView> mViews
- eastl::fixed_vector<ModelPtr, 16> mGrassTrampModels
-
uint32_
t mGameModeID - cGameDataPtr mHoveredObject
- eastl::hash_map<int, int> field_8C
- eastl::vector<int> field_AC
- bool field_C0
- bool field_C1
- eastl::intrusive_ptr<int> field_C4
- eastl::map<int, int> field_C8
- IModelWorldPtr field_E4
- ObjectPtr field_E8
-
App::
cViewer* field_EC - int field_F0
- int field_F4
- int field_F8
- int field_FC
- int field_100
- int field_104
- IAnimWorldPtr mpCreatureFXAnimWorld
- bool mbSuperHighResVehicles
- bool mbSuperHighResIgnoreCount
- bool mbSuperHighResBuildings
- eastl::fixed_vector<int, 32> field_110
Function documentation
bool Simulator:: cGameViewManager:: IntersectSphere(const Vector3& center,
float radius,
eastl::vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false,
Graphics:: ModelPredicate_t filter = nullptr,
void* filterObject = nullptr) virtual
Finds all the cSpatialObject objects that intersect with the sphere with center
and radius
.
Parameters | |
---|---|
center | The center of the sphere. |
radius | The radius of the sphere. |
dst out | The vector where all objects will be added. |
useModelCollisionMode | If true, the collision mode specified by each model will be used. |
filter | An optional filter function that decides which models are considered. |
filterObject | An object that is passed to the filter function. |
Returns | true if any object was found, false otherwise. |
The objects will be added to dst
. filter
is an optional filter function that receives a Model and filterObject
, and returns whether the model is considered or not.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.
bool Simulator:: cGameViewManager:: RaycastAll(const Vector3& point1,
const Vector3& point2,
eastl::vector<cSpatialObjectPtr>& dst,
bool useModelCollisionMode = false) virtual
Finds all the cSpatialObject objects that intersect with the segment between point1
and point2
.
Parameters | |
---|---|
point1 | The start point of the ray. |
point2 | The end point of the ray. |
dst out | The vector where all objects will be added. |
useModelCollisionMode | If true, the collision mode specified by each model will be used. |
Returns | true if any object was found, false otherwise. |
The objects will be added to dst
in the order they have been found, so the ones closest to point1
come first.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.
bool Simulator:: cGameViewManager:: Raycast(const Vector3& point1,
const Vector3& point2,
Graphics:: FilterSettings:: FilterModel_t filter,
cGameDataPtr& dst,
Vector3& dstIntersection,
bool useModelCollisionMode = false) virtual
Finds the first cGameData object that intersects with the segment between point1
and point2
.
Parameters | |
---|---|
point1 | The start point of the ray. |
point2 | The end point of the ray. |
filter | A filter function that receives a Model and returns whether it is considered or not. |
dst out | The object that is found, only valid if true was returned. |
dstIntersection out | The point where the ray intersected with the model, only valid if true was returned. |
useModelCollisionMode | If true, the collision mode specified by each model will be used. |
Returns | true if an object was found, false otherwise. |
Only models that pass the filter function are considered.
The collision is only checked with the bounding box, so it is not a precise model collision. If the useModelCollisionMode
param is true, then the collision mode specified by each model will be used.