# flightgear developer environments simulator (beta) # ValKmjolnir 2022 println("------------------------------------------------------------"); println("FlightGear simulated-env for developers project, since 2019"); println("Developed by:"); println("Sidi Liang (FGPRC-0762)"); println("Haokun Lee (FGPRC-0818 aka ValKmjolnir)"); println("------------------------------------------------------------"); println("[\e[32m fg_env \e[0m] init begin"); println("[\e[32m maketimer \e[0m] init tasks"); println("[\e[32m maketimer \e[0m] init events"); var fg_globals={ task:{}, event:{} }; println("[\e[32m maketimer \e[0m] new func add_event(name,interval,function)"); var add_event=func(name,interval,function){ fg_globals.event[name]=coroutine.create(func{ var timestamp=maketimestamp(); timestamp.stamp(); while(timestamp.elapsedMSec()0) { if(contains(tmp.val,path[i]~'['~index~']')) return tmp.val[path[i]~'['~index~']']; else return tmp.val[path[i]]; } return tmp; } }; println("[\e[32m props \e[0m] init props.Node"); props.Node= { new:func(values=nil) { var res={ parents:[props.Node], val:{}, type:'GHOST', parent:nil }; if(typeof(values)=="hash") res.val=values; return res; }, addChild:func(name) { if(!contains(me.val,name)) { me.val[name]=props.Node.new(); me.val[name].parent=me; return 1; } return 0; }, addChildren:func(name,cnt=0) { for(var i=0;itutorial'); props.getNode('/test/in',3).setValue('/',2147483648); props.getNode("/sim",1).addChild("messages"); props.getNode("/sim/messages",1).addChild("copilot"); props.getNode("/position",1).addChild("latitude-deg"); props.getNode("/position",1).addChild("longitude-deg"); props.getNode("/orientation",1).addChild("heading-deg"); props.getNode("/controls",1).addChild("flight"); props.getNode("/controls/flight",1).addChild("rudder"); props.getNode("/sim/messages/copilot",1).setValue('/',"nothing"); props.getNode("/position/latitude-deg",1).setValue('/',90); props.getNode("/position/longitude-deg",1).setValue('/',90); props.getNode("/orientation/heading-deg",1).setValue('/',90); props.getNode("/controls/flight/rudder",1).setValue('/',0.114); println("[\e[32m props \e[0m] init done"); println("[\e[32m fg_env \e[0m] init done"); println("------------------------------------------------------------"); props.globals.debug();