Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
Muto::NativeScriptComponent Struct Reference

Component that holds scripting data for an entity. More...

#include <Components.h>

Public Member Functions

template<typename T >
void Bind ()
 Binds a script type to this component.
 

Public Attributes

void(* DestroyScript )(NativeScriptComponent *)
 Function pointer to destroy the script.
 
ScriptableEntity * Instance = nullptr
 Pointer to the instance of the scriptable entity.
 
ScriptableEntity *(* InstantiateScript )()
 Function pointer to instantiate the script.
 

Detailed Description

Component that holds scripting data for an entity.

Member Function Documentation

◆ Bind()

template<typename T >
void Muto::NativeScriptComponent::Bind ( )
inline

Binds a script type to this component.

Template Parameters
TThe type of the script to bind.
262 {
263 InstantiateScript = []() { return static_cast<ScriptableEntity*> (new T()); };
264 DestroyScript = [](NativeScriptComponent* nsc) { delete nsc->Instance; nsc->Instance = nullptr; };
265 }
@ T
Definition KeyCodes.h:60
constexpr Scope< T > CreateScope(Args &&... args)
Creates a Scope (unique_ptr) for the given type and constructor arguments.
Definition Defines_Macros.h:51
ScriptableEntity *(* InstantiateScript)()
Function pointer to instantiate the script.
Definition Components.h:253
void(* DestroyScript)(NativeScriptComponent *)
Function pointer to destroy the script.
Definition Components.h:255

References DestroyScript, and Instance.

Member Data Documentation

◆ DestroyScript

void(* Muto::NativeScriptComponent::DestroyScript) (NativeScriptComponent *)

Function pointer to destroy the script.

Referenced by Bind().

◆ Instance

ScriptableEntity* Muto::NativeScriptComponent::Instance = nullptr

Pointer to the instance of the scriptable entity.

Referenced by Bind().

◆ InstantiateScript

ScriptableEntity *(* Muto::NativeScriptComponent::InstantiateScript) ()

Function pointer to instantiate the script.


The documentation for this struct was generated from the following file: