Open loaded SWFs during playback feature

This commit is contained in:
Jindra Petřík
2015-10-24 10:09:39 +02:00
parent f977c1c381
commit 8c8be0737f
20 changed files with 344 additions and 31 deletions

View File

@@ -12,17 +12,30 @@
private static var first:Boolean = true;
private static var inited:Boolean = false;
private static var name:String;
public static const DEBUG_VERSION_MAJOR = 1;
public static const DEBUG_VERSION_MINOR = 1;
public static const MSG_STRING = 0;
public static const MSG_LOADER_URL = 1;
public static const MSG_LOADER_BYTES = 2;
private static function sendQueue(){
var qo = q;
q = [];
for each(var m in qo){
writeMsg(m);
writeMsg(m.data,m.type);
}
}
private static function writeStringNull(msg){
var b:ByteArray = new ByteArray();
b.writeUTFBytes(msg);
s.writeBytes(b,0,b.length);
s.writeByte(0);
}
private static function writeString(msg){
var b:ByteArray = new ByteArray();
b.writeUTFBytes(msg);
@@ -31,6 +44,14 @@
s.writeBytes(b,0,b.length);
}
private static function writeBytes(b:ByteArray){
s.writeByte((b.length>>24) & 0xff);
s.writeByte((b.length>>16) & 0xff);
s.writeByte((b.length>>8) & 0xff);
s.writeByte(b.length & 0xff);
s.writeBytes(b,0,b.length);
}
public static function initClient(sname){
if(inited){
return;
@@ -47,19 +68,43 @@
inited = true;
}
public static function writeMsg(msg){
public static function writeLoaderURL(url){
writeMsg(url,MSG_LOADER_URL);
}
public static function writeLoaderBytes(data:ByteArray){
writeMsg(data,MSG_LOADER_BYTES);
}
public static function writeMsg(msg,msgType=0){
if(!inited){
initClient("");
}
if(s.connected){
if(first){
s.writeByte(0);
//s.writeByte(0);
writeStringNull("debug.version.major="+DEBUG_VERSION_MAJOR+";debug.version.minor="+DEBUG_VERSION_MINOR);
writeString(name);
first = false;
}
s.writeByte(msgType);
switch(msgType){
case MSG_STRING:
writeString(msg);
break;
case MSG_LOADER_URL:
writeString(msg);
break;
case MSG_LOADER_BYTES:
writeBytes(msg);
break;
}
writeString(msg);
}else{
q.push(msg);
q.push({type:msgType,data:msg});
}
}