Search Results for

    Show / Hide Table of Contents

    Class Scripting

    Embedded managed scripting runtime service.

    Inheritance
    Scripting
    Inherited Members
    Scripting
    Assembly: FlaxEngine.dll
    File: Engine/Scripting/Scripting.h
    Syntax
    public class Scripting

    Fields

    BinaryModuleLoaded

    Action fired when scripting loads a binary module (eg. with game scripts).

    Declaration
    public static Delegate<BinaryModule* > BinaryModuleLoaded
    Field Value
    Delegate<BinaryModule >

    Draw

    Occurs on scripting draw update. Called during frame rendering and can be used to invoke custom rendering with GPUDevice.

    Declaration
    public static Delegate Draw
    Field Value
    Delegate

    Exit

    Occurs when scripting engine is disposing. Engine is during closing and some services may be unavailable (eg. loading scenes). This may be called after the engine fatal error event.

    Declaration
    public static Delegate Exit
    Field Value
    Delegate

    FixedUpdate

    Occurs on scripting fixed update.

    Declaration
    public static Delegate FixedUpdate
    Field Value
    Delegate

    LateFixedUpdate

    Occurs on scripting late fixed update.

    Declaration
    public static Delegate LateFixedUpdate
    Field Value
    Delegate

    LateUpdate

    Occurs on scripting late update.

    Declaration
    public static Delegate LateUpdate
    Field Value
    Delegate

    ObjectsLookupIdMapping

    The objects lookup identifier mapping used to override the object ids on FindObject call (used by the object references deserialization).

    Declaration
    public static ThreadLocal<IdsMappingTable* , PLATFORM_THREADS_LIMIT> ObjectsLookupIdMapping
    Field Value
    ThreadLocal<IdsMappingTable , PLATFORM_THREADS_LIMIT>

    ScriptsLoaded

    Action fired on scripting engine loaded (always main thread).

    Declaration
    public static Delegate ScriptsLoaded
    Field Value
    Delegate

    ScriptsReloaded

    Action fired on scripting engine reload start (always main thread).

    Declaration
    public static Delegate ScriptsReloaded
    Field Value
    Delegate

    ScriptsReloading

    Action fired on scripting engine reload start (always main thread).

    Declaration
    public static Delegate ScriptsReloading
    Field Value
    Delegate

    ScriptsUnload

    Action fired on scripting engine unloading start (always main thread).

    Declaration
    public static Delegate ScriptsUnload
    Field Value
    Delegate

    Update

    Occurs on scripting update.

    Declaration
    public static Delegate Update
    Field Value
    Delegate

    Methods

    FindClass(const StringAnsiView& fullname)

    Finds the class with given fully qualified name within whole assembly.

    Declaration
    public static MClass* FindClass(const StringAnsiView& fullname)
    Parameters
    StringAnsiView fullname

    The full name of the type eg: System.Int64.

    Returns
    MClass

    The MClass object or null if missing.

    FindObject(const Guid& id)

    Finds the object by the given identifier. Searches registered scene objects and optionally assets. Logs warning if fails.

    Declaration
    public static T* FindObject(const Guid& id)
    Parameters
    Guid id

    The object unique identifier.

    Returns
    T

    The found object or null if missing.

    Type Parameters
    typename T

    FindObject(const MObject* managedInstance)

    Finds the object by the given managed instance handle. Searches only registered scene objects.

    Declaration
    public static ScriptingObject* FindObject(const MObject* managedInstance)
    Parameters
    MObject managedInstance

    The managed instance pointer.

    Returns
    ScriptingObject

    The found object or null if missing.

    FindObject(Guid id, const MClass* type=nullptr)

    Finds the object by the given identifier. Searches registered scene objects and optionally assets. Logs warning if fails.

    Declaration
    public static ScriptingObject* FindObject(Guid id, const MClass* type=nullptr)
    Parameters
    Guid id

    The object unique identifier.

    MClass type

    The type of the object to find (optional).

    Returns
    ScriptingObject

    The found object or null if missing.

    FindScriptingType(const StringAnsiView& fullname)

    Finds the scripting type of the given fullname by searching loaded scripting assemblies.

    Declaration
    public static ScriptingTypeHandle FindScriptingType(const StringAnsiView& fullname)
    Parameters
    StringAnsiView fullname

    The full name of the type eg: System.Int64.

    Returns
    ScriptingTypeHandle

    The scripting type or invalid type if missing.

    GetObjects()

    Gets all registered scripting objects.

    Use with caution due to potentially large memory allocation.

    Declaration
    public static Array<ScriptingObject* , HeapAllocation> GetObjects()
    Returns
    Array<ScriptingObject , HeapAllocation>

    The collection of the objects.

    GetRootDomain()

    Gets the root domain.

    Declaration
    public static MDomain* GetRootDomain()
    Returns
    MDomain

    GetScriptsDomain()

    Gets the scripts domain (it can be the root domain if not using separate domain for scripting).

    Declaration
    public static MDomain* GetScriptsDomain()
    Returns
    MDomain

    HasGameModulesLoaded()

    Returns true if game modules are loaded.

    Declaration
    public static bool HasGameModulesLoaded()
    Returns
    bool

    IsEveryAssemblyLoaded()

    Returns true if every assembly is loaded.

    Declaration
    public static bool IsEveryAssemblyLoaded()
    Returns
    bool

    IsTypeFromGameScripts(const MClass* type)

    Returns true if given type is from one of the game scripts assemblies.

    Declaration
    public static bool IsTypeFromGameScripts(const MClass* type)
    Parameters
    MClass type

    Returns
    bool

    Load()

    Load/Reload scripts now

    Declaration
    public static bool Load()
    Returns
    bool

    True if failed or cannot be done, otherwise false

    NewObject(const MClass* type)

    Creates a new instance of the given class object (native construction).

    Declaration
    public static ScriptingObject* NewObject(const MClass* type)
    Parameters
    MClass type

    The Managed type class.

    Returns
    ScriptingObject

    The created object or null if failed.

    NewObject(const ScriptingTypeHandle& type)

    Creates a new instance of the given type object (native construction).

    Declaration
    public static ScriptingObject* NewObject(const ScriptingTypeHandle& type)
    Parameters
    ScriptingTypeHandle type

    The scripting object type class.

    Returns
    ScriptingObject

    The created object or null if failed.

    OnManagedInstanceDeleted(ScriptingObject* obj)

    Event called by the internal call on a finalizer thread when the managed objects gets deleted by the GC.

    Declaration
    public static void OnManagedInstanceDeleted(ScriptingObject* obj)
    Parameters
    ScriptingObject obj

    The unmanaged object pointer that was related to the managed object.

    ProcessBuildInfoPath(String& path, const String& projectFolderPath)

    Declaration
    public static void ProcessBuildInfoPath(String& path, const String& projectFolderPath)
    Parameters
    String path

    String projectFolderPath

    Release()

    Release scripting layer (will destroy internal scripts data)

    Declaration
    public static void Release()

    Reload(bool canTriggerSceneReload=true)

    Reloads scripts.

    Declaration
    public static void Reload(bool canTriggerSceneReload=true)
    Parameters
    bool canTriggerSceneReload

    True if allow to scene scripts reload callback, otherwise it won't be possible.

    TryFindObject(const Guid& id)

    Tries to find the object by the given identifier.

    Declaration
    public static T* TryFindObject(const Guid& id)
    Parameters
    Guid id

    The object unique identifier.

    Returns
    T

    The found object or null if missing.

    Type Parameters
    typename T

    TryFindObject(const MClass* type)

    Tries to find the object by the given class.

    Declaration
    public static ScriptingObject* TryFindObject(const MClass* type)
    Parameters
    MClass type

    The type of the object to find.

    Returns
    ScriptingObject

    The found object or null if missing.

    TryFindObject(Guid id, const MClass* type=nullptr)

    Tries to find the object by the given identifier.

    Declaration
    public static ScriptingObject* TryFindObject(Guid id, const MClass* type=nullptr)
    Parameters
    Guid id

    The object unique identifier.

    MClass type

    The type of the object to find (optional).

    Returns
    ScriptingObject

    The found object or null if missing.

    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat