1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/IFoundation.h>
6 #include <CrySchematyc2/Script/IScriptFile.h>
8 #include "Script/ScriptElementBase.h"
9 #include "Script/ScriptUserDocumentation.h"
13 class CScriptClass
: public CScriptElementBase
<IScriptClass
>
17 // #SchematycTODO : Create two separate constructors: one default (before loading) and one for when element is created in editor.
18 CScriptClass(IScriptFile
& file
, const SGUID
& guid
= SGUID(), const SGUID
& scopeGUID
= SGUID(), const char* szName
= nullptr, const SGUID
& foundationGUID
= SGUID());
21 virtual EAccessor
GetAccessor() const override
;
22 virtual SGUID
GetGUID() const override
;
23 virtual SGUID
GetScopeGUID() const override
;
24 virtual bool SetName(const char* szName
) override
;
25 virtual const char* GetName() const override
;
26 virtual void EnumerateDependencies(const ScriptDependancyEnumerator
& enumerator
) const override
;
27 virtual void Refresh(const SScriptRefreshParams
& params
) override
;
28 virtual void Serialize(Serialization::IArchive
& archive
) override
;
29 virtual void RemapGUIDs(IGUIDRemapper
& guidRemapper
) override
;
33 virtual const char* GetAuthor() const override
;
34 virtual const char* GetDescription() const override
;
35 virtual SGUID
GetFoundationGUID() const override
;
36 virtual IPropertiesConstPtr
GetFoundationProperties() const override
;
41 void RefreshFoundationProperties();
42 void RefreshFoundationComponents();
43 void Validate(Serialization::IArchive
& archive
);
48 SScriptUserDocumentation m_userDocumentation
;
49 SGUID m_foundationGUID
;
50 IPropertiesPtr m_pFoundationProperties
;
53 DECLARE_SHARED_POINTERS(CScriptClass
)