1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 #include <CrySchematyc2/Script/IScriptFile.h>
7 #include "Script/ScriptElementBase.h"
11 struct IAbstractInterface
;
13 class CScriptAbstractInterfaceImplementation
: public CScriptElementBase
<IScriptAbstractInterfaceImplementation
>
17 // #SchematycTODO : Create two separate constructors: one default (before loading) and one for when element is created in editor.
18 CScriptAbstractInterfaceImplementation(IScriptFile
& file
, const SGUID
& guid
= SGUID(), const SGUID
& scopeGUID
= SGUID(), EDomain domain
= EDomain::Unknown
, const SGUID
& refGUID
= 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
;
32 // IScriptAbstractInterfaceImplementation
33 virtual EDomain
GetDomain() const override
;
34 virtual SGUID
GetRefGUID() const override
;
35 // ~IScriptAbstractInterfaceImplementation
39 void RefreshEnvAbstractrInterfaceFunctions(const IAbstractInterface
& abstractInterface
);
40 void RefreshScriptAbstractrInterfaceFunctions(const IScriptFile
& abstractrInterfaceFile
);
41 void RefreshScriptAbstractrInterfaceTasks(const IScriptFile
& abstractrInterfaceFile
);
42 void RefreshScriptAbstractrInterfaceTaskPropertiess(const IScriptFile
& abstractrInterfaceFile
, const SGUID
& taskGUID
);
43 void Validate(Serialization::IArchive
& archive
);
54 DECLARE_SHARED_POINTERS(CScriptAbstractInterfaceImplementation
)