[client] update haxework. ep6

This commit is contained in:
2019-03-11 17:51:13 +03:00
parent 7cca35195d
commit b2ba4362fe
23 changed files with 87 additions and 148 deletions

View File

@@ -1,11 +1,11 @@
package ru.m.connect;
import haxework.signal.Signal;
import haxe.io.Bytes;
import promhx.Deferred;
import promhx.Promise;
import protohx.Message;
import ru.m.connect.IConnection;
import ru.m.signal.Signal;
class BaseConnection<O:Message, I:Message> implements IConnection<O, I> {
@@ -51,4 +51,4 @@ class BaseConnection<O:Message, I:Message> implements IConnection<O, I> {
#if proto_debug L.d('Proto', 'receive: ${packet}'); #end
receiveHandler.emit(packet);
}
}
}

View File

@@ -1,9 +1,9 @@
package ru.m.connect;
import haxework.signal.Signal;
import haxe.io.Bytes;
import promhx.Promise;
import protohx.Message;
import ru.m.signal.Signal;
enum ConnectionEvent {

View File

@@ -1,47 +0,0 @@
package ru.m.draw;
abstract Color(Int) {
public var alpha(get, never):Int;
public var red(get, never):Int;
public var green(get, never):Int;
public var blue(get, never):Int;
public var zero(get, never):Bool;
public inline function new(value:Int) {
this = value;
}
private inline function get_alpha():Int {
return (this >> 24) & 255;
}
private inline function get_red():Int {
return (this >> 16) & 255;
}
private inline function get_green():Int {
return (this >> 8) & 255;
}
private inline function get_blue():Int {
return this & 255;
}
private inline function get_zero():Bool {
return green == 0 && red == 0 && blue == 0;
}
@:from
static public inline function fromInt(value:Int):Color {
return new Color(value);
}
@:from
static public inline function fromString(value:String):Color {
return new Color(Std.parseInt('0x${value.split('#').pop()}'));
}
public function toString():String {
return 'Color(${red},${green},${blue})';
}
}

View File

@@ -1,53 +0,0 @@
package ru.m.signal;
typedef Signal<A> = Signal1<A>;
typedef Receiver1<A> = A -> Void;
class Signal1<A> {
private var receivers:Array<Receiver1<A>>;
public function new() {
receivers = [];
}
public function connect(receiver:Receiver1<A>):Void {
receivers.push(receiver);
}
public function disconnect(receiver:Receiver1<A>):Void {
receivers.remove(receiver);
}
public function emit(a:A):Void {
for (receiver in receivers) {
receiver(a);
}
}
}
typedef Receiver2<A, B> = A -> B -> Void;
class Signal2<A, B> {
private var receivers:Array<Receiver2<A, B>>;
public function new() {
receivers = [];
}
public function connect(receiver:Receiver2<A, B>):Void {
receivers.push(receiver);
}
public function disconnect(receiver:Receiver2<A, B>):Void {
receivers.remove(receiver);
}
public function emit(a:A, b:B):Void {
for (receiver in receivers) {
receiver(a, b);
}
}
}

View File

@@ -1,9 +1,8 @@
package ru.m.tankz.config;
import ru.m.draw.Color;
import haxework.color.Color;
import ru.m.tankz.Type;
typedef CompleteRule = {
@:optional var team:TeamId;
}

View File

@@ -1,6 +1,6 @@
package ru.m.tankz.core;
import ru.m.draw.Color;
import haxework.color.Color;
import ru.m.geom.Direction;
import ru.m.geom.Point;
import ru.m.geom.Rectangle;
@@ -8,7 +8,6 @@ import ru.m.tankz.config.Config;
import ru.m.tankz.core.Bullet;
import ru.m.tankz.Type;
class Tank extends MobileEntity {
public var playerId(default, null):PlayerId;
public var config(default, set):TankConfig;

View File

@@ -1,8 +1,8 @@
package ru.m.tankz.engine;
import haxework.signal.Signal;
import ru.m.geom.Line;
import ru.m.geom.Point;
import ru.m.signal.Signal;
import ru.m.tankz.config.Config;
import ru.m.tankz.control.Control;
import ru.m.tankz.core.Bullet;