1#include "Generators/CPUNodeEditor/Nodes/RandomNumberNode.h"
2#include "Base/ImGuiShapes.h"
3#include "Generators/CPUNodeEditor/CPUNodeEditor.h"
13 if (inputPins[0]->IsLinked())
15 s = inputPins[0]->other->Evaluate(input).value;
23 if (inputPins[1]->IsLinked())
25 mn *= inputPins[1]->other->Evaluate(input).value;
33 if (inputPins[2]->IsLinked())
35 mx *= inputPins[2]->other->Evaluate(input).value;
50 std::seed_seq seq{seed};
52 std::uniform_int_distribution<int> dist(mn, mx);
66 data[
"type"] = MeshNodeEditor::MeshNodeType::RandomNumber;
73void RandomNumberNode::OnRender()
75 DrawHeader(
"Random Number");
76 inputPins[0]->Render();
79 if (!inputPins[0]->IsLinked())
81 ImGui::PushItemWidth(100);
82 ImGui::DragInt((
"##" + std::to_string(inputPins[0]->
id)).c_str(), &seed, 0.1f);
83 ImGui::PopItemWidth();
88 outputPins[0]->Render();
89 inputPins[1]->Render();
90 ImGui::Text(
"Minimum");
92 if (!inputPins[1]->IsLinked())
94 ImGui::PushItemWidth(100);
95 ImGui::DragInt((
"##" + std::to_string(inputPins[1]->
id)).c_str(), &min, 0.1f);
96 ImGui::PopItemWidth();
99 inputPins[2]->Render();
100 ImGui::Text(
"Maximum");
102 if (!inputPins[2]->IsLinked())
104 ImGui::PushItemWidth(100);
105 ImGui::DragInt((
"##" + std::to_string(inputPins[2]->
id)).c_str(), &max, 0.1f);
106 ImGui::PopItemWidth();
110RandomNumberNode::RandomNumberNode()
115 outputPins.push_back(
new NodeEditorPin(NodeEditorPinType::Output));
116 headerColor = ImColor(NOISE_NODE_COLOR);
a class to store JSON values