forked from LeenkxTeam/LNXSDK
400 lines
12 KiB
Haxe
400 lines
12 KiB
Haxe
|
package leenkx.logicnode;
|
||
|
import leenkx.network.Connect;
|
||
|
import leenkx.network.Leenkx;
|
||
|
import leenkx.network.Buffer;
|
||
|
import haxe.io.Bytes;
|
||
|
import iron.object.Object;
|
||
|
import iron.math.Vec4;
|
||
|
import iron.math.Quat;
|
||
|
import iron.math.Mat4;
|
||
|
|
||
|
|
||
|
class LeenkxSendMessageNode extends LogicNode {
|
||
|
public var property0: String;
|
||
|
public var property1: String;
|
||
|
public var id: String;
|
||
|
public var all: Bool;
|
||
|
|
||
|
public function new(tree:LogicTree) {
|
||
|
super(tree);
|
||
|
}
|
||
|
|
||
|
override function run(from:Int) {
|
||
|
var connection = inputs[1].get();
|
||
|
if (connection == null) return;
|
||
|
var api: String = inputs[2].get();
|
||
|
var message: Dynamic = inputs[3].get();
|
||
|
|
||
|
try {
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(`'+ api + message + '`);
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send(`' + inputs[4].get() + '`, `'+ api + message + '` );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
return;
|
||
|
|
||
|
switch (property1) {
|
||
|
case "string":
|
||
|
if(property0 == "client"){
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(Bytes.ofString(message));
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
case "vector":
|
||
|
if(property0 == "client"){
|
||
|
var bytesOut = new haxe.io.BytesOutput();
|
||
|
var i = Reflect.fields(message);
|
||
|
for (b in i) {
|
||
|
bytesOut.writeFloat(Reflect.field(message, b));
|
||
|
}
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(bytesOut.getBytes());
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send("' + api + message + '");
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
case "float":
|
||
|
if(property0 == "client"){
|
||
|
var bytesOut = new haxe.io.BytesOutput();
|
||
|
bytesOut.writeFloat(message);
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(bytesOut.getBytes());
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
case "integer":
|
||
|
if(property0 == "client"){
|
||
|
var bytesOut = new haxe.io.BytesOutput();
|
||
|
bytesOut.writeInt32(message);
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(bytesOut.getBytes());
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
case "boolean":
|
||
|
if(property0 == "client"){
|
||
|
var buffer = new Buffer();
|
||
|
if(message == true){
|
||
|
buffer.writeBytes(Bytes.ofString("true"));
|
||
|
} else {
|
||
|
buffer.writeBytes(Bytes.ofString("false"));
|
||
|
}
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
case "transform":
|
||
|
if(property0 == "client"){
|
||
|
var bytesOut = new haxe.io.BytesOutput();
|
||
|
var transform:Mat4 = message;
|
||
|
var loc = new Vec4();
|
||
|
var rot = new Quat();
|
||
|
var scale = new Vec4();
|
||
|
transform.decompose(loc, rot, scale);
|
||
|
var l = Reflect.fields(loc);
|
||
|
for (b in l) {
|
||
|
bytesOut.writeFloat(Reflect.field(loc, b));
|
||
|
}
|
||
|
var r = Reflect.fields(rot);
|
||
|
for (b in r) {
|
||
|
bytesOut.writeFloat(Reflect.field(rot, b));
|
||
|
}
|
||
|
var s = Reflect.fields(scale);
|
||
|
for (b in s) {
|
||
|
bytesOut.writeFloat(Reflect.field(scale, b));
|
||
|
}
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(bytesOut.getBytes());
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
try {
|
||
|
|
||
|
connection.buffer = buffer;
|
||
|
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
//console.log("Mine: " + lx_8001.torrent.discovery.peerId + " || Incomming: " + p);
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
//var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
var script = 'lx_' + connection._url +'.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
}
|
||
|
case "rotation":
|
||
|
if(property0 == "client"){
|
||
|
var bytesOut = new haxe.io.BytesOutput();
|
||
|
var i = Reflect.fields(message);
|
||
|
for (b in i) {
|
||
|
bytesOut.writeFloat(Reflect.field(message, b));
|
||
|
}
|
||
|
var buffer = new Buffer();
|
||
|
buffer.writeBytes(bytesOut.getBytes());
|
||
|
if(api != "" || api != null){
|
||
|
buffer.writeBytes(Bytes.ofString(api));
|
||
|
}
|
||
|
try {
|
||
|
connection.buffer = buffer;
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send(leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'lx_' + connection._url +'.send("' + inputs[4].get() + '",leenkx.network.Leenkx.connections.h["'+ connection._url +'"].buffer );';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
} else {
|
||
|
var window:haxe.DynamicAccess<Dynamic> = untyped js.Browser.window;
|
||
|
var lxCn = window.get('lx_' + connection._url);
|
||
|
if(inputs[5].get() == true){
|
||
|
lxCn.send(api+message);
|
||
|
}else{
|
||
|
lxCn.send(inputs[4].get(), api+message);
|
||
|
}
|
||
|
runOutput(0);
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*******_________________________________________
|
||
|
|
||
|
try {
|
||
|
|
||
|
if(inputs[5].get() == true){
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
lx_' + connection._url +'.torrent._peers[p].conn.send("' + api + message + '");
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
} else {
|
||
|
var script = 'for (p in lx_' + connection._url +'.torrent._peers){
|
||
|
try{
|
||
|
|
||
|
lx_' + connection._url +'.torrent._peers[' + inputs[4].get() + '].conn.send("' + api + message + '");
|
||
|
}catch(error){
|
||
|
console.log("Error: " + error);
|
||
|
}
|
||
|
}';
|
||
|
js.Syntax.code('(1, eval)({0})', script.toString());
|
||
|
runOutput(0);
|
||
|
}
|
||
|
} catch(error) {
|
||
|
trace("Error: " + error);
|
||
|
}
|
||
|
return;
|
||
|
|
||
|
_________________________________________*****/
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|