start using tinker

This commit is contained in:
2022-02-21 01:50:19 +01:00
parent 829484cb67
commit c78bdab7e4
16 changed files with 172 additions and 255 deletions

View File

@@ -1,6 +1,7 @@
package kernel;
import util.Signal;
using tink.CoreApi;
import lib.TermWriteable;
import cc.Term;
import util.Vec.Vec2;
@@ -10,19 +11,21 @@ import util.Color;
Represents the main computer screen.
**/
class MainTerm implements TermWriteable{
public static final instance:MainTerm = new MainTerm();
public static var instance:MainTerm;
public var onResize(default, null):Signal<Vec2<Int>>;
private var onResizeTrigger:SignalTrigger<Vec2<Int>>;
@:allow(kernel.Init)
private function new() {
this.onResizeTrigger = Signal.trigger();
this.onResize = this.onResizeTrigger.asSignal();
KernelEvents.instance.on("term_resize",params ->{
_onResize.emit(null);
onResizeTrigger.trigger(getSize());
});
}
public var onResize(get, null):SignalReadonly<Vec2<Int>>;
private var _onResize:Signal<Vec2<Int>> = new Signal();
function get_onResize():SignalReadonly<Vec2<Int>> {
return _onResize;
}
public function write(text:String) {
Term.write(text);