![]() |
CRM64Pro GDK v0.15.0
A free cross-platform game development kit built on top of SDL 3.0
|
Base class for all Scene game objects. More...
Base class for all Scene game objects.
Public Types | |
| typedef void(* | SCENE_OnTriggerEvent) (const SceneTriggerEvent &ev, void *pUserData) |
| Trigger callback type. | |
Public Member Functions | |
| SceneObject () | |
| Default constructor. | |
| virtual | ~SceneObject () |
| Virtual destructor for proper cleanup of derived classes. | |
| virtual void | initialize () |
| Called after TMX import populates all fields. | |
| virtual void | update (Scene *pScene, SceneLayerContext &context) |
| Called each frame when layer has UPDATE enabled. | |
| virtual void | render (Scene *pScene, SceneLayerContext &context) |
| Called each frame when layer has RENDER enabled and object is visible. | |
| void | setPosition (float fNewX, float fNewY) |
| Set object position and update spatial grid. | |
| void | setSize (float fNewWidth, float fNewHeight) |
| Set object size and update cached bounds. | |
| void | setVisible (bool bNewVisible) |
| Set object visibility. | |
| void | recalculateBounds () |
| Recalculate cached AABB after shape or dimension changes. | |
| bool | containsPoint (float px, float py) const |
| Test if a point is inside this object's shape. | |
| bool | overlapsObject (const SceneObject *pOther, SDL_FRect *pOverlap=nullptr) const |
| Test if this object's AABB overlaps another object's AABB. | |
| const string & | getType () const |
| Get the type identifier. | |
| const string & | getName () const |
| Get the object name. | |
| bool | addTrigger (const SceneObjectTrigger &trigger) |
| Add a trigger zone to this object. | |
| bool | updateTrigger (const SceneObjectTrigger &trigger) |
| Update an existing trigger by name. | |
| bool | removeTrigger (const string &sName) |
| Remove a trigger by name. | |
| void | clearTriggers () |
| Remove all triggers. | |
| bool | setTriggerEnabled (const string &sName, bool bEnabled) |
| Enable or disable a trigger. | |
| bool | getTrigger (const string &sName, SceneObjectTrigger *pOut) const |
| Get a trigger definition by name. | |
| Sint32 | getTriggerCount () const |
| Get number of triggers assigned to this object. | |
| void | setOnTriggerEvent (SCENE_OnTriggerEvent fn, void *pUserData=nullptr) |
| Set trigger event callback. | |