1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Script/ScriptElementBase.h"
8 #include "Script/ScriptUserDocumentation.h"
12 class CScriptClassBase
: public CScriptElementBase
<IScriptClassBase
>
16 // #SchematycTODO : Create two separate constructors: one default (before loading) and one for when element is created in editor.
17 CScriptClassBase(IScriptFile
& file
, const SGUID
& guid
= SGUID(), const SGUID
& scopeGUID
= SGUID(), const SGUID
& refGUID
= SGUID());
20 virtual EAccessor
GetAccessor() const override
;
21 virtual SGUID
GetGUID() const override
;
22 virtual SGUID
GetScopeGUID() const override
;
23 virtual bool SetName(const char* szName
) override
;
24 virtual const char* GetName() const override
;
25 virtual void EnumerateDependencies(const ScriptDependancyEnumerator
& enumerator
) const override
;
26 virtual void Refresh(const SScriptRefreshParams
& params
) override
;
27 virtual void Serialize(Serialization::IArchive
& archive
) override
;
28 virtual void RemapGUIDs(IGUIDRemapper
& guidRemapper
) override
;
32 virtual SGUID
GetRefGUID() const override
;
37 void RefreshProperties(const IScriptFile
& baseSchemaFile
, const IScriptClass
& baseClass
);
38 void Validate(Serialization::IArchive
& archive
);
43 SScriptUserDocumentation m_userDocumentation
;
47 DECLARE_SHARED_POINTERS(CScriptClassBase
)