Plasma Engine  2.0
Loading...
Searching...
No Matches
VisualScriptFunctionProperty.h
1#pragma once
2
3#include <VisualScriptPlugin/Runtime/VisualScript.h>
4
5class PL_VISUALSCRIPTPLUGIN_DLL plVisualScriptFunctionProperty : public plScriptFunctionProperty
6{
7public:
10
11 virtual plFunctionType::Enum GetFunctionType() const override { return plFunctionType::Member; }
12 virtual const plRTTI* GetReturnType() const override { return nullptr; }
13 virtual plBitflags<plPropertyFlags> GetReturnFlags() const override { return plPropertyFlags::Void; }
14 virtual plUInt32 GetArgumentCount() const override { return 0; }
15 virtual const plRTTI* GetArgumentType(plUInt32 uiParamIndex) const override { return nullptr; }
16 virtual plBitflags<plPropertyFlags> GetArgumentFlags(plUInt32 uiParamIndex) const override { return plPropertyFlags::Void; }
17
18 virtual void Execute(void* pInstance, plArrayPtr<plVariant> arguments, plVariant& out_returnValue) const override;
19
20private:
22 mutable plVisualScriptDataStorage m_LocalDataStorage;
23};
24
25class PL_VISUALSCRIPTPLUGIN_DLL plVisualScriptMessageHandler : public plScriptMessageHandler
26{
27public:
30
31 static void Dispatch(plAbstractMessageHandler* pSelf, void* pInstance, plMessage& ref_msg);
32
33private:
35 mutable plVisualScriptDataStorage m_LocalDataStorage;
36};
virtual void Execute(void *pInstance, plArrayPtr< plVariant > arguments, plVariant &out_returnValue) const =0
Calls the function. Provide the instance on which the function is supposed to be called.
The base class for all message handlers that a type provides.
Definition MessageHandler.h:12
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Base class for all message types. Each message type has it's own id which is used to dispatch message...
Definition Message.h:22
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
Definition ScriptRTTI.h:38
Definition ScriptRTTI.h:54
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition VisualScriptData.h:91
Definition VisualScriptFunctionProperty.h:6
virtual const plRTTI * GetArgumentType(plUInt32 uiParamIndex) const override
Returns the type of the given argument.
Definition VisualScriptFunctionProperty.h:15
virtual plBitflags< plPropertyFlags > GetArgumentFlags(plUInt32 uiParamIndex) const override
Returns the property flags of the given argument.
Definition VisualScriptFunctionProperty.h:16
virtual const plRTTI * GetReturnType() const override
Returns the type of the return value.
Definition VisualScriptFunctionProperty.h:12
virtual plFunctionType::Enum GetFunctionType() const override
Returns the type of function, see plFunctionPropertyType::Enum.
Definition VisualScriptFunctionProperty.h:11
virtual plUInt32 GetArgumentCount() const override
Returns the number of arguments.
Definition VisualScriptFunctionProperty.h:14
virtual plBitflags< plPropertyFlags > GetReturnFlags() const override
Returns property flags of the return value.
Definition VisualScriptFunctionProperty.h:13
Definition VisualScriptFunctionProperty.h:26
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Enum
Definition AbstractProperty.h:525
@ Member
A normal member function, a valid instance pointer must be provided to call.
Definition AbstractProperty.h:526
Definition ScriptRTTI.h:48