forked from LeenkxTeam/LNXSDK
Update Files
This commit is contained in:
57
Kha/Sources/kha/netsync/NodeProcessClient.hx
Normal file
57
Kha/Sources/kha/netsync/NodeProcessClient.hx
Normal file
@ -0,0 +1,57 @@
|
||||
package kha.netsync;
|
||||
|
||||
import haxe.io.Bytes;
|
||||
#if js
|
||||
import js.Node;
|
||||
import js.node.Buffer;
|
||||
#end
|
||||
|
||||
class NodeProcessClient implements Client {
|
||||
var myId: Int = -1;
|
||||
var receiveCallback: Bytes->Void = null;
|
||||
var closeCallback: Void->Void = null;
|
||||
|
||||
public function new(id: Int) {
|
||||
myId = id;
|
||||
}
|
||||
|
||||
public function send(bytes: Bytes, mandatory: Bool): Void {
|
||||
#if js
|
||||
var data = bytes.getData();
|
||||
var buffer = js.Syntax.code("new Buffer(data)");
|
||||
Node.process.send({data: buffer.toString(), id: myId});
|
||||
#end
|
||||
}
|
||||
|
||||
public function receive(receiver: Bytes->Void): Void {
|
||||
receiveCallback = receiver;
|
||||
}
|
||||
|
||||
public function _message(data): Void {
|
||||
if (receiveCallback != null) {
|
||||
receiveCallback(Bytes.ofString(data));
|
||||
}
|
||||
}
|
||||
|
||||
public function onClose(close: Void->Void): Void {
|
||||
closeCallback = close;
|
||||
}
|
||||
|
||||
public function _close(): Void {
|
||||
if (closeCallback != null) {
|
||||
closeCallback();
|
||||
}
|
||||
}
|
||||
|
||||
public var controllers(get, null): Array<Controller>;
|
||||
|
||||
function get_controllers(): Array<Controller> {
|
||||
return null;
|
||||
}
|
||||
|
||||
public var id(get, null): Int;
|
||||
|
||||
function get_id(): Int {
|
||||
return myId;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user