!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / Elements / ScriptActionInstance.h
blobe4ad769d09c0320dd3456548758adcddcbc7dd0d
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Script/ScriptElementBase.h"
9 namespace Schematyc2
11 class CScriptActionInstance : public CScriptElementBase<IScriptActionInstance>
13 public:
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());
18 // IScriptElement
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;
28 // ~IScriptElement
30 // IScriptActionInstance
31 virtual SGUID GetActionGUID() const override;
32 virtual SGUID GetComponentInstanceGUID() const override;
33 virtual IPropertiesConstPtr GetProperties() const override;
34 // ~IScriptActionInstance
36 private:
38 void RefreshAction();
39 void SerializeProperties(Serialization::IArchive& archive);
41 SGUID m_guid;
42 SGUID m_scopeGUID;
43 string m_name;
44 SGUID m_actionGUID;
45 SGUID m_componentInstanceGUID;
46 IPropertiesPtr m_pProperties;
49 DECLARE_SHARED_POINTERS(CScriptActionInstance)