1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
5 //#include <CrySchematyc2/AggregateTypeId.h>
6 //#include <CrySchematyc2/IEnvRegistry.h>
7 //#include <CrySchematyc2/IEnvTypeDesc.h>
8 //#include <CrySchematyc2/Deprecated/DocUtils.h>
9 #include <CrySchematyc2/Script/IScriptFile.h>
13 // Script enumeration value.
14 // #SchematycTODO : Does we really need to derive from IAny or should we create a CScriptAny utility class?
15 ////////////////////////////////////////////////////////////////////////////////////////////////////
16 class CScriptEnumerationValue
: public IAny
20 CScriptEnumerationValue(const IScriptEnumeration
* pEnumeration
);
21 CScriptEnumerationValue(const CScriptEnumerationValue
& rhs
);
24 virtual CTypeInfo
GetTypeInfo() const override
;
25 virtual uint32
GetSize() const override
;
26 virtual bool Copy(const IAny
& rhs
) override
;
27 virtual IAny
* Clone(void* pPlacement
) const override
;
28 virtual IAnyPtr
Clone() const override
;
29 virtual bool ToString(const CharArrayView
& str
) const override
;
30 virtual GameSerialization::IContextPtr
BindSerializationContext(Serialization::IArchive
& archive
) const override
;
31 virtual bool Serialize(Serialization::IArchive
& archive
, const char* szName
, const char* szLabel
) override
;
32 virtual IAnyExtension
* QueryExtension(EAnyExtension extension
) override
;
33 virtual const IAnyExtension
* QueryExtension(EAnyExtension extension
) const override
;
34 virtual void* ToVoidPtr() override
;
35 virtual const void* ToVoidPtr() const override
;
40 const IScriptEnumeration
* m_pEnumeration
; // #SchematycTODO : Wouldn't it be safer to reference by GUID?
41 size_t m_value
; // #SchematycTODO : Would it be safer to store a string?