package era.mi.logic.components;
+import era.mi.logic.Bit;
import era.mi.logic.Simulation;
-import era.mi.logic.WireArray;
-import era.mi.logic.WireArrayObserver;
+import era.mi.logic.wires.WireArray;
+import era.mi.logic.wires.WireArrayObserver;
-public abstract class BasicComponent implements WireArrayObserver
+/**
+ * A basic component that recomputes all outputs (with a delay), when it is updated.
+ * @author Fabian Stemmler
+ */
+public abstract class BasicComponent implements WireArrayObserver, Component
{
private int processTime;
}
@Override
- public void update(WireArray initiator)
+ public void update(WireArray initiator, Bit[] oldValues)
{
Simulation.TIMELINE.addEvent((e) -> {compute();}, processTime);
}