69 lines
1.6 KiB
Haxe
69 lines
1.6 KiB
Haxe
package bin;
|
|
|
|
import lib.ui.reactive.TurtleController;
|
|
import util.ObservableValue;
|
|
import kernel.turtle.Turtle;
|
|
import util.DummyObservable;
|
|
import lib.ui.reactive.TextElement;
|
|
import lib.ui.reactive.ReactiveUI;
|
|
import kernel.ui.WindowManager;
|
|
import kernel.ui.WindowContext;
|
|
|
|
class TurtleRemote {
|
|
|
|
private var context:WindowContext;
|
|
private var ui:ReactiveUI;
|
|
|
|
public function new() {
|
|
|
|
}
|
|
|
|
public function execute() {
|
|
this.context = WindowManager.instance.createNewContext();
|
|
|
|
// var fuelText = new ObservableValue("");
|
|
|
|
// function updateFuel() {
|
|
// fuelText.set('Fuel: ${Turtle.instance.getFuelLevel()} / ${Turtle.instance.getFuelLimit()}');
|
|
// }
|
|
// updateFuel();
|
|
|
|
// var fuel = new TextElement(fuelText);
|
|
|
|
|
|
// var bForward = new TextElement(DummyObservable.dummy("Forward"),Black,White,{
|
|
// onClick: function() {
|
|
// Turtle.instance.forward();
|
|
// updateFuel();
|
|
// }
|
|
// });
|
|
|
|
// var bBackward = new TextElement(DummyObservable.dummy("Backward"),Black,White,{
|
|
// onClick: function() {
|
|
// Turtle.instance.back();
|
|
// updateFuel();
|
|
// }
|
|
// });
|
|
|
|
// var bLeft = new TextElement(DummyObservable.dummy("Turn left"),Black,White,{
|
|
// onClick: function() {
|
|
// Turtle.instance.turnLeft();
|
|
// }
|
|
// });
|
|
|
|
// var bRight = new TextElement(DummyObservable.dummy("Turn right"),Black,White,{
|
|
// onClick: function() {
|
|
// Turtle.instance.turnRight();
|
|
// }
|
|
// });
|
|
|
|
var ctl = new TurtleController();
|
|
|
|
this.ui = new ReactiveUI(this.context,[ctl]);
|
|
|
|
this.ui.render();
|
|
|
|
WindowManager.instance.focusContextToOutput(context,"main");
|
|
}
|
|
}
|