52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
|
#include "block.h"
|
|
//#include "parameter.h"
|
|
|
|
// Example blocks - Math operations
|
|
|
|
class AddBlock : public ParameterizedBlock
|
|
{
|
|
public:
|
|
AddBlock(int id) : ParameterizedBlock(id, "Add")
|
|
{
|
|
SetTypeName("Math.Add");
|
|
m_Type = NodeType::Blueprint;
|
|
m_Color = ImColor(128, 195, 248);
|
|
}
|
|
|
|
void Build(Node& node, App* app) override;
|
|
int Run(Node& node, App* app) override;
|
|
NH_CSTRING GetBlockType() const override { return "Math.Add"; }
|
|
};
|
|
|
|
class MultiplyBlock : public ParameterizedBlock
|
|
{
|
|
public:
|
|
MultiplyBlock(int id) : ParameterizedBlock(id, "Multiply")
|
|
{
|
|
SetTypeName("Math.Multiply");
|
|
m_Type = NodeType::Blueprint;
|
|
m_Color = ImColor(128, 195, 248);
|
|
}
|
|
|
|
void Build(Node& node, App* app) override;
|
|
int Run(Node& node, App* app) override;
|
|
NH_CSTRING GetBlockType() const override { return "Math.Multiply"; }
|
|
};
|
|
|
|
class CompareBlock : public ParameterizedBlock
|
|
{
|
|
public:
|
|
CompareBlock(int id) : ParameterizedBlock(id, "Compare")
|
|
{
|
|
SetTypeName("Math.Compare");
|
|
m_Type = NodeType::Blueprint;
|
|
m_Color = ImColor(128, 195, 248);
|
|
}
|
|
|
|
void Build(Node& node, App* app) override;
|
|
int Run(Node& node, App* app) override;
|
|
NH_CSTRING GetBlockType() const override { return "Math.Compare"; }
|
|
};
|
|
|