package era.mi.logic.components;\r
\r
-import era.mi.logic.Simulation;\r
+import era.mi.logic.timeline.Timeline;\r
import era.mi.logic.types.BitVector;\r
import era.mi.logic.wires.Wire.ReadEnd;\r
import era.mi.logic.wires.WireObserver;\r
* \r
* @author Fabian Stemmler\r
*/\r
-public abstract class BasicComponent implements WireObserver, Component\r
+public abstract class BasicComponent extends Component implements WireObserver\r
{\r
private int processTime;\r
\r
* \r
* @author Fabian Stemmler\r
*/\r
- public BasicComponent(int processTime)\r
+ public BasicComponent(Timeline timeline, int processTime)\r
{\r
+ super(timeline);\r
this.processTime = processTime > 0 ? processTime : 1;\r
}\r
\r
@Override\r
public void update(ReadEnd initiator, BitVector oldValues)\r
{\r
- Simulation.TIMELINE.addEvent(e -> compute(), processTime);\r
+ timeline.addEvent(e -> compute(), processTime);\r
}\r
\r
protected abstract void compute();\r