!B (Sandbox) (CE-21795) Importing models with multisubmaterials via fbx switches...
[CRYENGINE.git] / Code / CryEngine / CrySchematyc2 / Script / GraphNodes / ScriptGraphBeginNode.cpp
blobf8fa3119fb36062370ac6174266b89fd610e2244
1 // Copyright 2001-2019 Crytek GmbH / Crytek Group. All rights reserved.
3 #include "StdAfx.h"
4 #include "Script/GraphNodes/ScriptGraphBeginNode.h"
6 #include <CrySchematyc2/IDomainContext.h>
7 #include <CrySchematyc2/Script/IScriptGraphNodeCompiler.h>
8 #include <CrySchematyc2/Script/IScriptGraphNodeCreationMenu.h>
10 #include "Script/GraphNodes/ScriptGraphNodeFactory.h"
12 namespace Schematyc2
14 const SGUID CScriptGraphBeginNode::s_typeGUID = "12bdfa06-ba95-4e48-bb2d-bb48a7080abc";
16 CScriptGraphBeginNode::CScriptGraphBeginNode() {}
18 CScriptGraphBeginNode::CScriptGraphBeginNode(const SGUID& guid)
19 : CScriptGraphNodeBase(guid)
22 CScriptGraphBeginNode::CScriptGraphBeginNode(const SGUID& guid, const Vec2& pos)
23 : CScriptGraphNodeBase(guid, pos)
26 SGUID CScriptGraphBeginNode::GetTypeGUID() const
28 return s_typeGUID;
31 EScriptGraphNodeType CScriptGraphBeginNode::GetType() const
33 return EScriptGraphNodeType::Begin;
36 EScriptGraphColor CScriptGraphBeginNode::GetColor() const
38 return EScriptGraphColor::Green;
41 void CScriptGraphBeginNode::Refresh(const SScriptRefreshParams& params)
43 CRY_PROFILE_FUNCTION(PROFILE_LOADING_ONLY);
45 CScriptGraphNodeBase::Refresh(params);
47 CScriptGraphNodeBase::SetName("Begin");
48 CScriptGraphNodeBase::AddOutput(EScriptGraphPortFlags::BeginSequence | EScriptGraphPortFlags::Execute, "Out");
51 void CScriptGraphBeginNode::Serialize(Serialization::IArchive& archive)
53 CRY_PROFILE_FUNCTION(PROFILE_LOADING_ONLY);
55 CScriptGraphNodeBase::Serialize(archive);
58 void CScriptGraphBeginNode::RemapGUIDs(IGUIDRemapper& guidRemapper)
60 CScriptGraphNodeBase::RemapGUIDs(guidRemapper);
63 void CScriptGraphBeginNode::Compile_New(IScriptGraphNodeCompiler& compiler) const
65 compiler.BindCallback(&Execute);
68 void CScriptGraphBeginNode::RegisterCreator(CScriptGraphNodeFactory& factory)
70 class CCreator : public IScriptGraphNodeCreator
72 public:
74 // IScriptGraphNodeCreator
76 virtual SGUID GetTypeGUID() const override
78 return CScriptGraphBeginNode::s_typeGUID;
81 virtual IScriptGraphNodePtr CreateNode() override
83 return std::make_shared<CScriptGraphBeginNode>(gEnv->pSchematyc2->CreateGUID());
86 virtual void PopulateNodeCreationMenu(IScriptGraphNodeCreationMenu& nodeCreationMenu, const IDomainContext& domainContext, const IScriptGraphExtension& graph) override {}
88 // ~IScriptGraphNodeCreator
91 factory.RegisterCreator(std::make_shared<CCreator>());
94 SRuntimeResult CScriptGraphBeginNode::Execute(IObject* pObject, const SRuntimeActivationParams& activationParams, CRuntimeNodeData& data)
96 return SRuntimeResult(ERuntimeStatus::Continue, EOutputIdx::Out);