A350-family/Nasal/main.nas

69 lines
1.6 KiB
Text
Raw Normal View History

#======
# INIT
#======
A350XWBMain = {};
A350XWBMain.new = func {
var obj = {
parents : [A350XWBMain],
};
obj.init();
return obj;
}
#======
# CRON
#======
A350XWBMain.fastcron = func {
#fast code runs in here (EICAS)
eicassystem.schedule();
# schedule the next call
settimer(func { me.fastcron(); },0.1);
}
A350XWBMain.slowcron = func {
#1 second code runs in here
enginesystem.schedule();
# schedule the next call
settimer(func { me.slowcron(); },1);
}
#=============
# START NASAL
#=============
A350XWBMain.loadscripts = func {
globals.A350XWB.enginesystem = A350XWB.Engines.new();
globals.A350XWB.eicassystem = A350XWB.EICAS.new();
}
A350XWBMain.init = func {
#This is here so the reinit only runs once instead of twice
me.loadscripts();
#Start the cron timers
settimer(func { me.fastcron(); },0);
settimer(func { me.slowcron(); },0);
print('A350XWB Systems started');
}
A350XWBMain.reinit = func {
#This is here so the reinit only runs once instead of twice
if ( getprop("/sim/signals/reinit") ) {
#Add reinit functions in here
print('A350XWB Systems restarted');
}
}
A350XWBListener1 = setlistener("/sim/signals/fdm-initialized", func { globals.A350XWB.main = A350XWBMain.new(); removelistener(A350XWBListener1); });
A350XWBListener2 = setlistener("/sim/signals/reinit", func { globals.A350XWB.main.reinit(); });
setlistener("controls/lighting/landing-light",
func {
if(getprop("controls/lighting/landing-light")) setprop("controls/lighting/landing-lights-norm",1); else setprop("controls/lighting/landing-lights-norm",0);
}
);