Plasma Engine  2.0
Loading...
Searching...
No Matches
plScriptWorldModule Class Reference
Inheritance diagram for plScriptWorldModule:

Classes

struct  FunctionContext
 

Public Member Functions

 plScriptWorldModule (plWorld *pWorld)
 
virtual void Initialize () override
 This method is called after the constructor. A derived type can override this method to do initialization work. Typically this is the method where updates function are registered.
 
virtual void WorldClear () override
 Called by plWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).
 
void AddUpdateFunctionToSchedule (const plAbstractFunctionProperty *pFunction, void *pInstance, plTime updateInterval, bool bOnlyWhenSimulating)
 
void RemoveUpdateFunctionToSchedule (const plAbstractFunctionProperty *pFunction, void *pInstance)
 
plExpressionVMGetSharedExpressionVM ()
 Returns a expression vm that can be used in custom script implementations. Make sure to only execute one expression at a time, the VM is NOT thread safe.
 
Coroutine Functions
plScriptCoroutineHandle CreateCoroutine (const plRTTI *pCoroutineType, plStringView sName, plScriptInstance &inout_instance, plScriptCoroutineCreationMode::Enum creationMode, plScriptCoroutine *&out_pCoroutine)
 Creates a new coroutine of pCoroutineType with the given name. If the creationMode prevents creating a new coroutine, this function will return an invalid handle and a nullptr in out_pCoroutine if there is already a coroutine running with the same name on the given instance.
 
void StartCoroutine (plScriptCoroutineHandle hCoroutine, plArrayPtr< plVariant > arguments)
 Starts the coroutine with the given arguments. This will call the Start() function and then UpdateAndSchedule() once on the coroutine object.
 
void StopAndDeleteCoroutine (plScriptCoroutineHandle hCoroutine)
 Stops and deletes the coroutine. This will call the Stop() function and will delete the coroutine on next update of the script world module.
 
void StopAndDeleteCoroutine (plStringView sName, plScriptInstance *pInstance)
 Stops and deletes all coroutines with the given name on pInstance.
 
void StopAndDeleteAllCoroutines (plScriptInstance *pInstance)
 Stops and deletes all coroutines on pInstance.
 
bool IsCoroutineFinished (plScriptCoroutineHandle hCoroutine) const
 Returns whether the coroutine has already finished or has been stopped.
 
- Public Member Functions inherited from plWorldModule
plWorldGetWorld ()
 Returns the corresponding world to this module.
 
const plWorldGetWorld () const
 Returns the corresponding world to this module.
 
plUInt32 GetWorldIndex () const
 Same as GetWorld()->GetIndex(). Needed to break circular include dependencies.
 
- Public Member Functions inherited from plReflectedClass
virtual const plRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const plRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
PL_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from plNoBase
static const plRTTIGetStaticRTTI ()
 
- Protected Types inherited from plWorldModule
using UpdateFunction = plDelegate<void(const UpdateContext&)>
 Update function delegate.
 
- Protected Member Functions inherited from plWorldModule
 plWorldModule (plWorld *pWorld)
 
void RegisterUpdateFunction (const UpdateFunctionDesc &desc)
 Registers the given update function at the world.
 
void DeregisterUpdateFunction (const UpdateFunctionDesc &desc)
 De-registers the given update function from the world. Note that only the m_Function and the m_Phase of the description have to be valid for de-registration.
 
plAllocatorGetAllocator ()
 Returns the allocator used by the world.
 
plInternal::WorldLargeBlockAllocatorGetBlockAllocator ()
 Returns the block allocator used by the world.
 
bool GetWorldSimulationEnabled () const
 Returns whether the world simulation is enabled.
 
virtual void Deinitialize ()
 This method is called before the destructor. A derived type can override this method to do deinitialization work.
 
virtual void OnSimulationStarted ()
 This method is called at the start of the next world update when the world is simulated. This method will be called after the initialization method.
 
- Protected Attributes inherited from plWorldModule
plWorldm_pWorld
 

Member Function Documentation

◆ Initialize()

void plScriptWorldModule::Initialize ( )
overridevirtual

This method is called after the constructor. A derived type can override this method to do initialization work. Typically this is the method where updates function are registered.

Reimplemented from plWorldModule.

◆ WorldClear()

void plScriptWorldModule::WorldClear ( )
overridevirtual

Called by plWorld::Clear(). Can be used to clear cached data when a world is completely cleared of objects (but not deleted).

Reimplemented from plWorldModule.


The documentation for this class was generated from the following files: