22 #ifndef CAFU_GAMESYS_GAMEWORLD_INTERFACE_HPP_INCLUDED
23 #define CAFU_GAMESYS_GAMEWORLD_INTERFACE_HPP_INCLUDED
25 #include "Math3D/BoundingBox.hpp"
26 #include "Templates/Pointer.hpp"
34 namespace cf {
namespace ClipSys {
class ClipWorldT; } }
35 namespace cf {
namespace GameSys {
class GameI; } }
36 namespace cf {
namespace GuiSys {
class GuiResourcesT; } }
37 namespace cf {
class UniScriptStateT; }
virtual const ArrayT< unsigned long > & GetAllEntityIDs() const =0
Returns (a reference to) an array that contains the IDs of all entities that currently exist in the w...
This class represents a native Cafu model.
Definition: Model_cmdl.hpp:60
Definition: PhysicsWorld.hpp:173
This is the interface that the client and server use to access and work with game entities...
Definition: GameEntity.hpp:40
virtual const CafuModelT * GetModel(const std::string &FileName) const =0
Returns a model for the given filename.
The game world interface, specified as an ABC so that is can be used without linked (module-local) im...
Definition: GameWorld.hpp:49
virtual ~GameWorldI()
The virtual destructor, so that derived classes can safely be deleted via a GameWorldI (base class) p...
Definition: GameWorld.hpp:55
The game interface, specified as an ABC so that is can be used without linked (module-local) implemen...
Definition: Game.hpp:49
virtual void RemoveEntity(unsigned long EntityID)=0
Removes the entity identified by 'EntityID' from the (server) world.
virtual cf::GameSys::GameI * GetGame()=0
Returns the game that this is a world of.
virtual cf::GuiSys::GuiResourcesT & GetGuiResources() const =0
Returns the GUI resources that are commonly used in this game world.
virtual cf::ClipSys::ClipWorldT & GetClipWorld()=0
Returns the clip world for the game world.
The clip world manages all the clip models that exist in a world (their "union"). ...
Definition: ClipWorld.hpp:42
virtual Vector3fT GetAmbientLightColorFromBB(const BoundingBox3T< double > &Dimensions, const VectorT &Origin) const =0
Returns a "good" ambient light color for an arbitrary object (i.e.
virtual IntrusivePtrT< GameEntityI > GetGameEntityByID(unsigned long EntityID) const =0
Returns a pointer to the entity with ID 'EntityID'.
virtual PhysicsWorldT & GetPhysicsWorld()=0
Returns the physics world for the game world.
This class manages and provides resources (fonts and models) for GuiImplT instances.
Definition: GuiResources.hpp:41