📝 optimize stl/fg_env.nas

This commit is contained in:
ValKmjolnir 2022-06-12 16:55:59 +08:00
parent f59c3c7787
commit dea9c4ad3b
1 changed files with 7 additions and 5 deletions

View File

@ -241,12 +241,13 @@ var props=
}; };
println("[\e[32m props \e[0m] [",fg_env_global_timestamp.elapsedMSec()/1000,"] init props.Node"); println("[\e[32m props \e[0m] [",fg_env_global_timestamp.elapsedMSec()/1000,"] init props.Node");
props.Node= props.Node=
{ {
new:func(values=nil) new:func(values=nil)
{ {
var res={ var res={
parents:[props.Node], parents:fg_env_props_node_traits,
val:{}, val:{},
type:'GHOST', type:'GHOST',
parent:nil parent:nil
@ -315,8 +316,7 @@ props.Node=
getName:func() getName:func()
{ {
var val=me.parent.val; var val=me.parent.val;
var key=keys(val); foreach(var k;keys(val))
foreach(var k;key)
if(val[k]==me) if(val[k]==me)
return k; return k;
return ''; return '';
@ -350,10 +350,11 @@ props.Node=
println(s,'\e[91m}\e[0m'); println(s,'\e[91m}\e[0m');
} }
else else
println("\e[35m",me.val,"\e[0m\e[33m(\e[0m\e[96m",me.type,'\e[0m\e[33m)\e[0m'); println("\e[35m ",me.val,"\e[0m\e[33m(\e[0m\e[96m",me.type,'\e[0m\e[33m)\e[0m');
return; return;
} }
}; };
var fg_env_props_node_traits=[props.Node];
println("[\e[32m props \e[0m] [",fg_env_global_timestamp.elapsedMSec()/1000,"] init props.globals"); println("[\e[32m props \e[0m] [",fg_env_global_timestamp.elapsedMSec()/1000,"] init props.globals");
props.globals=props.Node.new(); props.globals=props.Node.new();
@ -559,6 +560,7 @@ props.getNode("/orientation/heading-deg",1).setValue('/',90);
props.getNode("/controls/flight/rudder",1).setValue('/',0.114); props.getNode("/controls/flight/rudder",1).setValue('/',0.114);
func(){ func(){
srand();
var tmp=nil; var tmp=nil;
var vec=[props.globals]; var vec=[props.globals];
while(size(vec)){ while(size(vec)){
@ -566,7 +568,7 @@ func(){
foreach(var i;vec){ foreach(var i;vec){
if(typeof(i.val)=="hash"){ if(typeof(i.val)=="hash"){
if(size(i.val)==0){ if(size(i.val)==0){
i.setDoubleValue(0); i.setDoubleValue(rand()*10);
}else{ }else{
foreach(var j;keys(i.val)) foreach(var j;keys(i.val))
append(tmp,i.val[j]); append(tmp,i.val[j]);