package gameEngine;
import java.util.ArrayList;
import java.util.List;
import gameEngine.entites.GameObject;
import gameEngine.entites.gameComponents.*;
import gameEngine.input.Input;
import gameEngine.input.MouseInput;
public class ConnectionManager {
private List<Connection> connections = new ArrayList<>();
private PortView pressedPort;
public void handlePortPress(PortView port) {
pressedPort = port;
}
public void handlePortRelease(PortView port) {
if (pressedPort != null && pressedPort != port && pressedPort.getPortType() != port.getPortType()) {
System.out.println("Connect!");
Connection newConnection = new Connection(pressedPort, port);
connections.add(newConnection);
GameObject entityA = (GameObject) pressedPort.getParent();
GameObject entityB = (GameObject) port.getParent();
if(entityA.getComponent(EntityView.class) != null){
entityA.ComponentConnections.add(entityB.getComponent(ComponentView.class).connectionType);
}else {
entityB.ComponentConnections.add(entityA.getComponent(ComponentView.class).connectionType);
}
}
pressedPort = null;
}
public void update() {
for (Connection connection : connections) {
connection.render();
}
if (Input.GetMouseButtonDown(0)) {
float mouseX = MouseInput.getX();
float mouseY = MouseInput.getY();
for (Connection connection : connections) {
if(connection.isClicked(mouseX, mouseY)) System.out.println("Clicked");
else System.out.println("o");
}
}
}
}