|
| ComponentModelT () |
| The constructor. More...
|
|
| ComponentModelT (const ComponentModelT &Comp) |
| The copy constructor. More...
|
|
| ~ComponentModelT () |
| The destructor. More...
|
|
AnimPoseT * | GetPose () const |
| Returns the current pose of this model (or NULL if there is no pose (yet)). More...
|
|
IntrusivePtrT
< cf::GuiSys::GuiImplT > | GetGui () const |
| Returns the GUI instance of this model, if it has one (or NULL otherwise). More...
|
|
ComponentModelT * | Clone () const |
| The virtual copy constructor. More...
|
|
const char * | GetName () const |
| Returns the name of this component. More...
|
|
void | UpdateDependencies (EntityT *Entity) |
| This method is called whenever something "external" to this component has changed: More...
|
|
unsigned int | GetEditorColor () const |
| Returns a color that the Map Editor can use to render the representation of this component's entity. More...
|
|
BoundingBox3fT | GetEditorBB () const |
| Returns a bounding-box that the Map Editor can use to render the representation of this component's entity and for related hit tests in the 2D and 3D views after mouse clicks. More...
|
|
BoundingBox3fT | GetCullingBB () const |
| This method returns a bounding-box that encloses the visual representation of this component. More...
|
|
bool | Render (bool FirstPersonView, float LodDist) const |
| This method implements the graphical output of this component. More...
|
|
void | DoServerFrame (float t) |
| Derived classes override this method in order to implement the real work proposed by OnServerFrame(), which explicitly calls this method for this purpose. More...
|
|
void | DoClientFrame (float t) |
| Derived classes override this method in order to implement the real work proposed by OnClientFrame(), which explicitly calls this method for this purpose. More...
|
|
const cf::TypeSys::TypeInfoT * | GetType () const |
|
| ComponentBaseT () |
| The constructor. More...
|
|
| ComponentBaseT (const ComponentBaseT &Comp) |
| The copy constructor. More...
|
|
virtual | ~ComponentBaseT () |
| The virtual destructor. More...
|
|
EntityT * | GetEntity () const |
| Returns the parent entity that contains this component, or NULL if this component is currently not a part of any entity. More...
|
|
TypeSys::VarManT & | GetMemberVars () |
| Returns the variable manager that keeps generic references to our member variables, providing a simple kind of "reflection" or "type introspection" feature. More...
|
|
template<class T > |
void | SetMember (const char *Name, const T &Value) |
| Sets the member variable with the given name to the given value. More...
|
|
ArrayT< ApproxBaseT * > & | GetInterpolators () |
| Returns the interpolators that have been registered with this component. More...
|
|
bool | InitClientApprox (const char *VarName) |
| Registers the member variable with the given name for interpolation over client frames in order to bridge the larger intervals between server frames. More...
|
|
void | Serialize (cf::Network::OutStreamT &Stream) const |
| Writes the current state of this component into the given stream. More...
|
|
void | Deserialize (cf::Network::InStreamT &Stream, bool IsIniting) |
| Reads the state of this component from the given stream, and updates the component accordingly. More...
|
|
bool | CallLuaMethod (const char *MethodName, int NumExtraArgs, const char *Signature="",...) |
| Calls the given Lua method of this component. More...
|
|
virtual const
cf::ClipSys::ClipModelT * | GetClipModel () |
| This method returns the clip model of this component, if any. More...
|
|
virtual void | PreCache () |
| Initializes any resources that may be needed on the client or server ahead of time. More...
|
|
virtual void | PostRender (bool FirstPersonView) |
| This method provides an opportunity for another render pass. More...
|
|
virtual void | OnPostLoad (bool OnlyStatic) |
| This method is called after all entities and their components have been loaded. More...
|
|
virtual bool | OnInputEvent (const CaKeyboardEventT &KE) |
| This method handles keyboard input events. More...
|
|
virtual bool | OnInputEvent (const CaMouseEventT &ME, float PosX, float PosY) |
| This method handles mouse input events. More...
|
|
void | OnServerFrame (float t) |
| Advances the component one frame (one "clock-tick") on the server. More...
|
|
void | OnClientFrame (float t) |
| Advances the component one frame (one "clock-tick") on the client. More...
|
|
unsigned int | GetRefCount () const |
|
|
static int | GetNumAnims (lua_State *LuaState) |
|
static int | GetNumSkins (lua_State *LuaState) |
|
static int | GetGui (lua_State *LuaState) |
|
static int | toString (lua_State *LuaState) |
|
static int | Get (lua_State *LuaState) |
|
static int | Set (lua_State *LuaState) |
|
static int | GetExtraMessage (lua_State *LuaState) |
|
static int | Interpolate (lua_State *LuaState) |
|
static int | GetEntity (lua_State *LuaState) |
|
static int | InitClientApprox (lua_State *LuaState) |
|
static int | toString (lua_State *LuaState) |
|
This component adds a 3D model to its entity.
Models can be used to add geometric detail to a map. Some models also have ready-made "GUI fixtures" where scripted GUIs can be attached that players can interact with. Use the CaWE Model Editor in order to import mesh and animation data for models, and to prepare them for use in game maps.
This method returns a bounding-box that encloses the visual representation of this component.
It is used to determine if the entity is in the view-frustum of a camera, how large a region must be updated in the 2D views of a Map Editor, if the entity is in the potentially-visibility-set (PVS) of another entity, and similar purposes.
The returned bounding-box is in local space, i.e. typically centered around the origin (0, 0, 0). If the component doesn't have a visual representation, the returned bounding-box may be uninitialized (!IsInited()
). Also see EntityT::GetCullingBB() for additional details.
Reimplemented from cf::GameSys::ComponentBaseT.
Returns a bounding-box that the Map Editor can use to render the representation of this component's entity and for related hit tests in the 2D and 3D views after mouse clicks.
The Map Editor may use the bounding-box of an entity's first component as returned by this method to render the visual representation of the entity.
Note that the returned bounding-box is often smaller than the bounding-box returned by GetCullingBB(), e.g. for light sources (whose radius and thus their indirect effects on other objects it may not cover), for trees (whose trunk it usually covers, but maybe not their crown), or for models (that, when animated, may break the limits of the static bounding-box).
On the other hand, the returned bounding-box may also be larger than the bounding-box returned by GetCullingBB(), e.g. for models that are not initialized. Such models would be "invisible" in the 2D and 3D views of the Map Editor if we didn't return "dummy" bounding-boxes for them so that users can see and work with them.
The returned bounding-box is in local entity space and is always initialized (IsInited() == true
).
Reimplemented from cf::GameSys::ComponentBaseT.