Plasma Engine  2.0
Loading...
Searching...
No Matches
VisualScriptInstance.h
1#pragma once
2
3#include <Core/Scripting/ScriptClassResource.h>
4#include <Foundation/Containers/Blob.h>
5#include <VisualScriptPlugin/Runtime/VisualScript.h>
6
7class PL_VISUALSCRIPTPLUGIN_DLL plVisualScriptInstance : public plScriptInstance
8{
9public:
11
12 virtual void SetInstanceVariable(const plHashedString& sName, const plVariant& value) override;
13 virtual plVariant GetInstanceVariable(const plHashedString& sName) override;
14
15 plVisualScriptDataStorage* GetConstantDataStorage() { return m_pConstantDataStorage.Borrow(); }
16 plVisualScriptDataStorage* GetInstanceDataStorage() { return m_pInstanceDataStorage.Borrow(); }
17
18private:
19 plSharedPtr<plVisualScriptDataStorage> m_pConstantDataStorage;
20 plUniquePtr<plVisualScriptDataStorage> m_pInstanceDataStorage;
22};
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
Definition ScriptRTTI.h:66
A Shared ptr manages a shared object and destroys that object when no one references it anymore....
Definition SharedPtr.h:10
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
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 VisualScriptInstance.h:8
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22