Only allow one connection per in/out pair.
This commit is contained in:
parent
8773f46b60
commit
f63854c863
@ -9,6 +9,7 @@ import com.codigoparallevar.minicards.types.connectors.output.OutputConnector;
|
||||
import com.codigoparallevar.minicards.types.connectors.output.SignalOutputConnector;
|
||||
import com.codigoparallevar.minicards.types.wireData.Signal;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@ -20,6 +21,7 @@ public class RoundOutputConnector implements Drawable, SignalOutputConnector {
|
||||
private final Part _part;
|
||||
private SignalWire _currentWire = null;
|
||||
private final List<SignalWire> _wires;
|
||||
private final HashSet<InputConnector> _connections;
|
||||
|
||||
public RoundOutputConnector(Part part, PartGrid partGrid, int centerX, int centerY, int radius) {
|
||||
_part = part;
|
||||
@ -28,6 +30,7 @@ public class RoundOutputConnector implements Drawable, SignalOutputConnector {
|
||||
_centerY = centerY;
|
||||
_radius = radius;
|
||||
_wires = new LinkedList<>();
|
||||
_connections = new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -61,10 +64,17 @@ public class RoundOutputConnector implements Drawable, SignalOutputConnector {
|
||||
|
||||
Log.d("RoundOutputConnector", "Dropped wire on " + resultPoint);
|
||||
|
||||
// Not connected
|
||||
if (resultPoint == null){
|
||||
return;
|
||||
}
|
||||
|
||||
// Already connected
|
||||
if (_connections.contains(resultPoint)) {
|
||||
return;
|
||||
}
|
||||
_connections.add(resultPoint);
|
||||
|
||||
wire.attachTo(resultPoint);
|
||||
_wires.add(wire);
|
||||
}
|
||||
@ -111,6 +121,12 @@ public class RoundOutputConnector implements Drawable, SignalOutputConnector {
|
||||
|
||||
@Override
|
||||
public void connectTo(SignalInputConnector inputConnector) {
|
||||
if (_connections.contains(inputConnector)) {
|
||||
return;
|
||||
}
|
||||
|
||||
_connections.add(inputConnector);
|
||||
|
||||
SignalWire wire = new SignalWire(this, _centerX, _centerY);
|
||||
wire.attachTo(inputConnector);
|
||||
_wires.add(wire);
|
||||
|
@ -7,7 +7,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.0.0-alpha5'
|
||||
classpath 'com.android.tools.build:gradle:3.0.0-beta2'
|
||||
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
Loading…
Reference in New Issue
Block a user