예제 #1
0
        public override void OnUpdate()
        {
            base.OnUpdate();
            if (biAAE != vessel.isActiveAndEnabled)
            {
                biAAE = vessel.isActiveAndEnabled;
                string sMsg = "LOC vessel is Active and Enbled = " + biAAE;
                print(sMsg);
            }
            if (biAV != vessel.isActiveVessel)
            {
                biAV = vessel.isActiveVessel;
                string sMsg = "LOC vessel is Active Vessel = " + biAV;
                print(sMsg);
            }

            double dElectric_Draw = 10.0 * dW_to_EC;
            double elecAvail      = part.RequestResource("ElectricCharge", dElectric_Draw) / dElectric_Draw;
            bool   bPowered       = (elecAvail > 0.90);

            dIndicated_Deviation = -10.0;
            sStation_ID          = "---";

            if (bPowered)
            {
                cNav_Select = null;
                foreach (Part p in vessel.Parts)
                {
                    //string sMsg1 = "VI: " + p.name;
                    //print(sMsg1);
                    foreach (PartModule m in p.Modules)
                    {
                        //string sMsg2 = "VIm: " + m.name;
                        //print(sMsg2);
                        VHF_NAV_Receiver cNav = m as VHF_NAV_Receiver;
                        if (cNav != null)
                        {
                            cNav_Select = cNav;
                        }
                    }
                }
                if (cNav_Select != null)
                {
                    //string sMsg = "LOC indicator found receiver " + cNav_Select.moduleName;
                    //print(sMsg);
                    LOC cLOC = cNav_Select.getTunedLOC();
                    if (cLOC != null)
                    {
                        dIndicated_Deviation = cLOC.getOffset(cNav_Select.getPosition());
                        sStation_ID          = cLOC.sStation_ID;
                    }
                    else
                    {
                        sStation_ID = "---";
                    }
                }
                else
                {
                    sStation_ID = "---";
                }
            }
        }