User Tools

Site Tools


hpl3:game:entity_types

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl3:game:entity_types [2014/01/17 20:34]
thomas
— (current)
Line 1: Line 1:
-====== Entity Types ====== 
  
-===== General ===== 
- 
-===== Player ===== 
- 
-This is a dummy object that there only exist one of and it is automatically created by the player. It is named "​Player"​ and is helpful for whenever you need to use the player as an entity, for instance to use it as a group for critters or attach something to it. 
- 
-===== Prop ===== 
- 
-==== Overview ==== 
-Props are used for any dynamic objects that do not any sophisticated AI. Boxes, closets, levers, etc all fit in here. 
- 
-==== Creation notes ==== 
-Must always have a mesh in the entity file. Apart from that pretty much anything goes. 
- 
- 
-==== Callback Methods ==== 
-These are methods that are called from the prop: 
- 
-**void SetupAfterLoad(cWorld @apWorld, cResourceVarsObject @apVars, cResourceVarsObject @apInstanceVars)**\\ 
-**void OnAfterWorldLoad()**\\ 
-**void BeforeEntityDestruction()**\\ 
-**void ResetProperties()**\\ 
-**void OnSetActive(bool abX)**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
-**void OnUpdate(float afTimeStep)**\\ 
-**void OnPostUpdate(float afTimeStep)**\\ 
-**void OnStartMove()**\\ 
-**void OnHealthChange()**\\ 
-**bool CanInteract(int alType, iPhysicsBody@ apBody)**\\ 
-**bool OnInteract(int alType, iPhysicsBody@ apBody, const cVector3f &in avFocusPos, const tString&​in asData)**\\ 
-**void OnConnectionStateChange(iLuxEntity@ apEntity,​int alState)**\\ 
-**void OnPhysicsCollision(iPhysicsBody @apBody, iPhysicsBody @apCollideBody,​ cPhysicsContactData&​in apContactData)**\\ 
-**float DrawDebugOutput(cGuiSet @apSet,​iFontData @apFont,​float afStartY)**\\ 
-**void OnAttachmentUpdate(const cMatrixf&​in a_mtxTransformAdd)**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
-===== Agent ===== 
- 
-==== General ==== 
-Agent is the building block for making anything needed more complex AI, like enemies or NPCs 
- 
-==== Creation notes ==== 
-Shall not have any bodies or joints in the entity file. Attach any effects either to nodes, sockets. If you skip attaching them to anything they will be attached to the mesh. 
- 
-==== Callback Methods ==== 
-These are methods that are called from the Agent 
- 
-**void SetupAfterLoad(cWorld @apWorld, cResourceVarsObject @apVars, cResourceVarsObject @apInstanceVars)**\\ 
-**void OnAfterWorldLoad()**\\ 
-**void BeforeEntityDestruction()**\\ 
-**void ResetProperties()**\\ 
-**void OnSetActive(bool abX)**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
-**void OnUpdate(float afTimeStep)**\\ 
-**void OnPostUpdate(float afTimeStep)**\\ 
-**void OnHealthChange()**\\ 
-**bool CanInteract(int alType, iPhysicsBody@ apBody)**\\ 
-**bool OnInteract(int alType, iPhysicsBody@ apBody, const cVector3f &in avFocusPos, const tString&​in asData)**\\ 
-**void OnConnectionStateChange(iLuxEntity@ apEntity,​int alState)**\\ 
-**float DrawDebugOutput(cGuiSet @apSet,​iFontData @apFont,​float afStartY)**\\ 
-**void SetupCharBody()**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
- 
-===== Critter ===== 
- 
-==== Overview ==== 
-Critters are meant to be smaller creatures that do not require advanced AI or behaviors. They are built up by boids and are controlled by having a lot of functions that add force to them. 
- 
-==== Creation notes ==== 
-A critter must have at least one body in the entity file. The mesh (or any other entities) may NOT be attached to this body. The shape of the body should almost always be a sphere. It does not need to cover the entire mesh and for long creatures it is probably best if it only covers the head. Do testing and see what works best. 
- 
-==== Callback Methods ==== 
-These are methods that are called from the Agent 
- 
-**void SetupAfterLoad(cWorld @apWorld, cResourceVarsObject @apVars, cResourceVarsObject @apInstanceVars)**\\ 
-**void OnAfterWorldLoad()**\\ 
-**void BeforeEntityDestruction()**\\ 
-**void ResetProperties()**\\ 
-**void OnSetActive(bool abX)**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
-**void OnUpdate(float afTimeStep)**\\ 
-**void OnPostUpdate(float afTimeStep)**\\ 
-**void OnHealthChange()**\\ 
-**bool CanInteract(int alType, iPhysicsBody@ apBody)**\\ 
-**bool OnInteract(int alType, iPhysicsBody@ apBody, const cVector3f &in avFocusPos, const tString&​in asData)**\\ 
-**void OnConnectionStateChange(iLuxEntity@ apEntity,​int alState)**\\ 
-**float DrawDebugOutput(cGuiSet @apSet,​iFontData @apFont,​float afStartY)**\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
- 
-===== Area ===== 
- 
-==== Overview ==== 
-Used for various types of trigger areas 
- 
-==== Callback Methods ==== 
-These are methods that are called from the area: 
- 
-**void SetupAfterLoad(cWorld @apWorld, cResourceVarsObject @apVars)**\\ 
-**void BeforeEntityDestruction()**\\ 
-**void ResetProperties()**\\ 
-**void OnSetActive(bool abX)**\\ 
-**void OnUpdate(float afTimeStep)**\\ 
-**void OnPostUpdate(float afTimeStep)**\\ 
-**bool CanInteract(int alType, iPhysicsBody@ apBody)**\\ 
-**bool OnInteract(int alType, iPhysicsBody@ apBody, const cVector3f &in avFocusPos, const tString&​in asData)**\\ 
-**void OnConnectionStateChange(iLuxEntity@ apEntity,​int alState)**\\ 
-**float DrawDebugOutput(cGuiSet @apSet,​iFontData @apFont,​float afStartY)**\\ 
-**bool OnStartCheckCollision(float afTimeStep, float afTimeSinceCheck)**\\ 
-Return true if collision should be check. Only available if SetCheckCollision has been set true.\\ 
-**bool OnCheckCollision(iPhysicsBody@ apBody, iLuxEntity@ apEntity)**\\ 
-Called for each body colliding. Only available if SetCheckCollision has been set true.\\ 
-**void OnEndCheckCollision(float afTimeStep**\\ 
-When all colliding bodies have been check. Only available if SetCheckCollision has been set true.\\ 
-**void GiveDamage(float afAmount, int alStrength, const tString&​in asType, const tString&​in asSource)**\\ 
- 
-===== Liquid Area ===== 
- 
-==== Overview ==== 
-A special kind of area hardcoded to make it extra fast. It basically gives anything in the area buoyancy. Normally the default should work, but you can use this to implement special types or add all kinds of effects easily. 
- 
-==== Callback Methods ==== 
-These are methods that are called from the liquid area: 
- 
-**void SetupAfterLoad(cWorld @apWorld, cResourceVarsObject @apVars)**\\ 
-**void BeforeEntityDestruction()**\\ 
-**void ResetProperties()**\\ 
-**void OnSetActive(bool abX)**\\ 
-**void OnUpdate(float afTimeStep)**\\ 
-**void OnPostUpdate(float afTimeStep)**\\ 
-**bool CanInteract(int alType, iPhysicsBody@ apBody)**\\ 
-**bool OnInteract(int alType, iPhysicsBody@ apBody, const cVector3f &in avFocusPos, const tString&​in asData)**\\ 
-**void OnConnectionStateChange(iLuxEntity@ apEntity,​int alState)**\\ 
-**void OnBodyEnterLiquid(iPhysicsBody @apBody)**\\ 
-**void OnBodyExitLiquid(iPhysicsBody @apBody)**\\ 
-**void OnCharBodyEnterLiquid(iCharacterBody @apBody)**\\ 
-**void OnCharBodyExitLiquid(iCharacterBody @apBody)**\\ 
-**void OnAttachmentUpdate()**\\ 
-**float DrawDebugOutput(cGuiSet @apSet,​iFontData @apFont,​float afStartY)**\\ 
- 
- 
-===== Reverb Area ===== 
- 
-==== Overview ==== 
-A special kind of area that is only used to set reverb properties for an area of the map. Does not allow variants to be created using script (like LiquidArea does). 
hpl3/game/entity_types.1389990855.txt.gz ยท Last modified: 2014/01/17 20:34 by thomas