1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Script/ScriptElementBase.h"
11 class CScriptActionInstance
: public CScriptElementBase
<IScriptActionInstance
>
15 // #SchematycTODO : Create two separate constructors: one default (before loading) and one for when element is created in editor.
16 CScriptActionInstance(IScriptFile
& file
, const SGUID
& guid
= SGUID(), const SGUID
& scopeGUID
= SGUID(), const char* szName
= nullptr, const SGUID
& actionGUID
= SGUID(), const SGUID
& componentInstanceGUID
= SGUID());
19 virtual EAccessor
GetAccessor() const override
;
20 virtual SGUID
GetGUID() const override
;
21 virtual SGUID
GetScopeGUID() const override
;
22 virtual bool SetName(const char* szName
) override
;
23 virtual const char* GetName() const override
;
24 virtual void EnumerateDependencies(const ScriptDependancyEnumerator
& enumerator
) const override
;
25 virtual void Refresh(const SScriptRefreshParams
& params
) override
;
26 virtual void Serialize(Serialization::IArchive
& archive
) override
;
27 virtual void RemapGUIDs(IGUIDRemapper
& guidRemapper
) override
;
30 // IScriptActionInstance
31 virtual SGUID
GetActionGUID() const override
;
32 virtual SGUID
GetComponentInstanceGUID() const override
;
33 virtual IPropertiesConstPtr
GetProperties() const override
;
34 // ~IScriptActionInstance
39 void SerializeProperties(Serialization::IArchive
& archive
);
45 SGUID m_componentInstanceGUID
;
46 IPropertiesPtr m_pProperties
;
49 DECLARE_SHARED_POINTERS(CScriptActionInstance
)