!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / GraphNodes / ScriptGraphGetNode.h
blobc527525fd67365261d3d8cd3039d98ba2b774221
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #pragma once
5 #include <CrySchematyc2/Runtime/IRuntime.h>
7 #include "Script/GraphNodes/ScriptGraphNodeBase.h"
9 namespace Schematyc2
11 class CScriptGraphNodeFactory;
13 class CScriptGraphGetNode : public CScriptGraphNodeBase
15 private:
17 struct EOutputIdx
19 enum : uint32
21 Value = 0
25 struct EAttributeId
27 enum : uint32
29 Params
33 public:
35 CScriptGraphGetNode(const SGUID& guid);
36 CScriptGraphGetNode(const SGUID& guid, const Vec2& pos, const SGUID& refGUID);
38 // IScriptGraphNode
39 virtual SGUID GetTypeGUID() const override;
40 virtual SGUID GetRefGUID() const override;
41 virtual EScriptGraphColor GetColor() const override;
42 virtual void Refresh(const SScriptRefreshParams& params) override;
43 virtual void Serialize(Serialization::IArchive& archive) override;
44 virtual void RemapGUIDs(IGUIDRemapper& guidRemapper) override;
45 virtual void Compile_New(IScriptGraphNodeCompiler& compiler) const override;
46 // ~IScriptGraphNode
48 static void RegisterCreator(CScriptGraphNodeFactory& factory);
50 private:
52 void SerializeBasicInfo(Serialization::IArchive& archive);
53 void Validate(Serialization::IArchive& archive);
55 static SRuntimeResult Execute(IObject* pObject, const SRuntimeActivationParams& activationParams, CRuntimeNodeData& data);
57 public:
59 static const SGUID s_typeGUID;
61 private:
63 SGUID m_refGUID;