!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / Elements / ScriptClass.h
blob73250932888fe34dc2dda753c0624f2b34dc112a
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/IFoundation.h>
6 #include <CrySchematyc2/Script/IScriptFile.h>
8 #include "Script/ScriptElementBase.h"
9 #include "Script/ScriptUserDocumentation.h"
11 namespace Schematyc2
13 class CScriptClass : public CScriptElementBase<IScriptClass>
15 public:
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());
20 // IScriptElement
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;
30 // ~IScriptElement
32 // IScriptClass
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;
37 // ~IScriptClass
39 private:
41 void RefreshFoundationProperties();
42 void RefreshFoundationComponents();
43 void Validate(Serialization::IArchive& archive);
45 SGUID m_guid;
46 SGUID m_scopeGUID;
47 string m_name;
48 SScriptUserDocumentation m_userDocumentation;
49 SGUID m_foundationGUID;
50 IPropertiesPtr m_pFoundationProperties;
53 DECLARE_SHARED_POINTERS(CScriptClass)