fishy loss of changes here...

This commit is contained in:
Sebastian
2024-10-30 14:55:24 +01:00
parent c0f5138765
commit f7a13e48b7
8 changed files with 241 additions and 60 deletions
+10 -12
View File
@@ -1,25 +1,23 @@
#pragma once
#include "raylib.h"
#include "raygui/raygui.h"
#include "raygui/dark/style_dark.h"
#include "datatypes.h"
#include "connection-manager.h"
#include "node-manager.h"
#include "raylib.h"
#include "graph-manager.h"
#include "signal-manager.h"
#include <ranges>
class AppUI{
public:
AppUI(AppSettings *settings, NodeManager *nm, ConnectionManager *cm, SignalManager *sm) : settings(settings), nm(nm), sm(sm), cm(cm) {}
AppUI(AppSettings *settings, SignalManager *sm, GraphManager *gm) : settings(settings), gm(gm), sm(sm) {}
AppSettings *settings;
NodeManager *nm;
GraphManager *gm;
SignalManager *sm;
ConnectionManager *cm;
void init(){
GuiLoadStyleDark();
@@ -54,7 +52,7 @@ class AppUI{
if(GuiButton((Rectangle){20, (float)s_midi + 45 + i*20.0f, 240, 20}, "ENABLE FOR ALL")) {
for(auto &midis : sm->midi.midi_out_ports){
if(midis.enabled){
for(auto &n : nm->nodes){
for(auto &n : gm->nodes){
n.second.setMidiPort(midis.number, true);
}
}
@@ -64,7 +62,7 @@ class AppUI{
int s_signal = s_midi + 100 + i*20;
GuiLabel((Rectangle){20, (float)s_signal, 240, 20}, "SIGNALS");
if(GuiButton((Rectangle){20, (float)s_signal + 35, 240, 20}, "ADD RANDOM SIGNAL")){
int ni = nm->getRandomNode();
int ni = gm->getRandomNode();
sm->addSignalAtNode(ni);
}
@@ -83,14 +81,14 @@ class AppUI{
int s_nodes = s_signal + 70 + signal_configs*20;
GuiLabel((Rectangle){20, (float)s_nodes + 30, 240, 20}, "NODES");
if(GuiButton((Rectangle){20, (float)s_nodes + 60, 240, 20}, "ADD RANDOM NODE")){
nm->addNode(200.0f, 200.0f);
gm->addNode(200.0f, 200.0f);
}
DrawText(std::format("{}", nm->nodes.size()).c_str(), 20, settings->height - 70, 15, VS_COLOR_WHITE);
DrawText(std::format("{}", gm->nodes.size()).c_str(), 20, settings->height - 70, 15, VS_COLOR_WHITE);
DrawFPS(20, settings->height - 30);
}
void drawPerNodeConfig(Camera2D *camera){
for(auto& n : nm->nodes | std::ranges::views::values | std::views::filter([](Node n){ return n.config; })){
for(auto& n : gm->nodes | std::ranges::views::values | std::views::filter([](Node n){ return n.config; })){
Vector2 np = GetWorldToScreen2D((Vector2){n.position.x, n.position.y}, *camera);
n.config = !GuiWindowBox((Rectangle){np.x + 10, np.y + 10, 240, 440}, "config");