7 #ifndef CAFU_GAMESYS_WORLD_HPP_INCLUDED
8 #define CAFU_GAMESYS_WORLD_HPP_INCLUDED
10 #include "UniScriptState.hpp"
15 namespace cf {
namespace ClipSys {
class ClipWorldT; } }
16 namespace cf {
namespace ClipSys {
class CollModelManI; } }
17 namespace cf {
namespace GuiSys {
class GuiResourcesT; } }
168 void operator = (
const WorldT&);
176 unsigned int m_NextEntID;
185 static int CreateNew(lua_State* LuaState);
187 static int SetRootEntity(lua_State* LuaState);
188 static int TraceRay(lua_State* LuaState);
189 static int Phys_TraceBB(lua_State* LuaState);
190 static int toString(lua_State* LuaState);
192 static const luaL_Reg MethodsList[];
193 static const char* DocClass;
A class that is thrown on WorldT initialization errors.
Definition: World.hpp:201
Definition: PhysicsWorld.hpp:158
float GetMillimetersPerWorldUnit() const
Returns how many millimeters one world unit is large.
Definition: World.hpp:102
This class implements smart (reference-counted) pointers.
Definition: Pointer.hpp:43
cf::ClipSys::CollModelManI & GetCollModelMan() const
Returns the manager for all collision models that are used in this world.
Definition: World.hpp:118
This class provides (an interface to) the creation, management and destruction of collision models...
Definition: CollisionModelMan.hpp:38
ModelManagerT & GetModelMan() const
Returns the manager for all models that are used in this world.
Definition: World.hpp:111
Normally, the ScriptName parameter to the WorldT ctor is a filename. If this is set, it is treated as inline script code.
Definition: World.hpp:62
RealmT GetRealm() const
Returns the realm of this world, indicating where and to which purpose the world has been instantiate...
Definition: World.hpp:92
unsigned int GetNextEntityID(unsigned int ForcedID=UINT_MAX)
Returns the ID that the next newly created entity should get.
Definition: World.cpp:208
bool ProcessDeviceEvent(const CaKeyboardEventT &KE)
Processes a keyboard event by forwarding it to the entity that currently has the input focus...
Definition: World.cpp:236
cf::GuiSys::GuiResourcesT & GetGuiResources() const
Returns the resource provider for commonly used GUI fonts and models.
Definition: World.hpp:115
This struct describes a mouse event.
Definition: OpenGLWindow.hpp:185
static IntrusivePtrT< EntityT > LoadScript(IntrusivePtrT< WorldT > World, const std::string &ScriptName, int Flags=0)
Assigns the given world to the global "world" and loads the given script in order to initialize it...
Definition: World.cpp:68
This must be set if the map script is loaded for use as a prefab. Can only be used if the world is in...
Definition: World.hpp:64
PhysicsWorldT * GetPhysicsWorld() const
The physics world, where entities can register their rigid bodies and run collision detection queries...
Definition: World.hpp:126
static void InitScriptState(UniScriptStateT &ScriptState)
Initializes the given script state for use with WorldT instances.
Definition: World.cpp:47
UniScriptStateT & GetScriptState()
Returns the script state of this world.
Definition: World.hpp:95
void Render() const
Renders this world.
Definition: World.cpp:225
If set, only the static data will be loaded. User-defined scripts with custom, initial behaviour are ...
Definition: World.hpp:63
This class manages the type infos.
Definition: TypeSys.hpp:145
void OnClientFrame(float t)
Advances the entity one frame (one "clock-tick") on the client.
Definition: World.cpp:256
This struct describes a keyboard event.
Definition: OpenGLWindow.hpp:20
IntrusivePtrT< EntityT > GetRootEntity() const
Returns the root entity of this world.
Definition: World.hpp:105
This class holds the hierarchy of game entities that populate a game world.
Definition: World.hpp:39
This class is used for managing model instances.
Definition: ModelManager.hpp:31
The clip world manages all the clip models that exist in a world (their "union"). ...
Definition: ClipWorld.hpp:27
cf::ClipSys::ClipWorldT * GetClipWorld() const
The clip world, where entities can register their collision models and run collision detection querie...
Definition: World.hpp:122
This class represents the state of a script: the underlying Lua state, pending coroutines, metatables for C++ class hierarchies, etc.
Definition: UniScriptState.hpp:214
InitFlagsT
Flags for initializing a world from a map script.
Definition: World.hpp:60
WorldT(RealmT Realm, UniScriptStateT &ScriptState, ModelManagerT &ModelMan, cf::GuiSys::GuiResourcesT &GuiRes, cf::ClipSys::CollModelManI &CollModelMan, cf::ClipSys::ClipWorldT *ClipWorld, PhysicsWorldT *PhysicsWorld)
Constructor for creating an entity hierarchy (== "a world") from the given script file...
Definition: World.cpp:193
RealmT
A value that indicates where and to which purpose a game world is instantiated.
Definition: World.hpp:51
Definition: TypeSys.hpp:52
Definition: TypeSys.hpp:57
This class keeps type information (about an entity class that occurs in the game).
Definition: TypeSys.hpp:79
A base class for objects that are reference-counted with IntrusivePtrTs.
Definition: Pointer.hpp:13
This class manages and provides resources (fonts and models) for GuiImplT instances.
Definition: GuiResources.hpp:26