예제 #1
0
 public Pilot()
 {
     pObjList      = new PadlockObjectList();
     viewDirection = new Bearing(0.0D, 0.0D);
 }
예제 #2
0
        public void KeyPressed(Keys keyCode, AirPlane ap, SimulatorInterface simIF, Recorder recorder, PadlockObjectList pobj)
        {
            if (keyCode == simIF.key_ctrl)
            {
                simIF.ctrl_sw = 1;
            }

            if ((keyCode == simIF.key_pause) && (simIF.mode == 0))
            {
                if (simIF.pause_sw == 0)
                {
                    simIF.pause_sw = 1;
                }
                else
                {
                    simIF.pause_sw       = 0;
                    simIF.locusMake      = 1;
                    simIF.locusImageMake = 1;
                }
            }

            if (keyCode == simIF.key_locus_disp)
            {
                simIF.pause_sw = 1;
                if (simIF.mode == 0)
                {
                    simIF.mode = 1;
                }
                else if (simIF.mode == 1)
                {
                    simIF.mode = 0;
                }
            }

            if (keyCode == simIF.key_menu)
            {
                simIF.pause_sw = 1;
                if (simIF.mode == 0)
                {
                    simIF.mode = 2;
                }
            }

            if (keyCode == simIF.key_locus_reset)
            {
                recorder.Reset();
                simIF.locusMake      = 1;
                simIF.locusImageMake = 1;
                Jp.Maker1.Util.Gui.Caption.SetCaption("RECORDER RESET", 2.0D);
            }

            if (simIF.mode == 0)
            {
                if (keyCode == simIF.key_slow)
                {
                    if (simIF.slow_mode == 0)
                    {
                        simIF.slow_mode = 1;
                    }
                    else
                    {
                        simIF.slow_mode = 0;
                    }
                }

                if (keyCode == simIF.key_dispDynamics)
                {
                    if (simIF.dispDynamicsSw == 0)
                    {
                        simIF.dispDynamicsSw = 1;
                    }
                    else
                    {
                        simIF.dispDynamicsSw = 0;
                    }
                }

                if (keyCode == simIF.key_dispInformation)
                {
                    if (simIF.dispInformationSw == 0)
                    {
                        simIF.dispInformationSw = 1;
                    }
                    else
                    {
                        simIF.dispInformationSw = 0;
                    }
                }
            }

            if ((simIF.mode == 0) && (simIF.pause_sw == 0))
            {
                if (keyCode == ap.cif.key_rudder_center)
                {
                    ap.cif.rudder_sw = 3;
                }

                if (keyCode == ap.cif.key_rudder_left)
                {
                    ap.cif.rudder_sw = -1;
                }
                if (keyCode == ap.cif.key_rudder_right)
                {
                    ap.cif.rudder_sw = 1;
                }

                if (keyCode == ap.cif.key_throttle_0p)
                {
                    ap.cif.throttle_pos = 0.0D;
                }
                if (keyCode == ap.cif.key_throttle_10p)
                {
                    ap.cif.throttle_pos = 0.1D;
                }
                if (keyCode == ap.cif.key_throttle_20p)
                {
                    ap.cif.throttle_pos = 0.2D;
                }
                if (keyCode == ap.cif.key_throttle_30p)
                {
                    ap.cif.throttle_pos = 0.3D;
                }
                if (keyCode == ap.cif.key_throttle_40p)
                {
                    ap.cif.throttle_pos = 0.4D;
                }
                if (keyCode == ap.cif.key_throttle_50p)
                {
                    ap.cif.throttle_pos = 0.5D;
                }
                if (keyCode == ap.cif.key_throttle_60p)
                {
                    ap.cif.throttle_pos = 0.6D;
                }
                if (keyCode == ap.cif.key_throttle_70p)
                {
                    ap.cif.throttle_pos = 0.7D;
                }
                if (keyCode == ap.cif.key_throttle_80p)
                {
                    ap.cif.throttle_pos = 0.8D;
                }
                if (keyCode == ap.cif.key_throttle_90p)
                {
                    ap.cif.throttle_pos = 0.9D;
                }
                if (keyCode == ap.cif.key_throttle_100p)
                {
                    ap.cif.throttle_pos = 1.0D;
                }
                if (keyCode == ap.cif.key_throttle_full)
                {
                    ap.cif.throttle_pos = 1.0D;
                }

                if (keyCode == ap.cif.key_throttle_up)
                {
                    ap.cif.throttle_sw = 1;
                }
                if (keyCode == ap.cif.key_throttle_down)
                {
                    ap.cif.throttle_sw = -1;
                }

                if (keyCode == ap.cif.key_mixture_full_rich)
                {
                    ap.cif.mixture_pos = 1.0D;
                }

                if (keyCode == ap.cif.key_mixture_rich)
                {
                    ap.cif.mixture_sw = 1;
                }
                if (keyCode == ap.cif.key_mixture_lean)
                {
                    ap.cif.mixture_sw = -1;
                }

                if (keyCode == ap.cif.key_prop_pitch_max_low)
                {
                    ap.cif.prop_pitch_pos = 1.0D;
                }

                if (keyCode == ap.cif.key_prop_pitch_low)
                {
                    ap.cif.prop_pitch_sw = 1;
                }
                if (keyCode == ap.cif.key_prop_pitch_high)
                {
                    ap.cif.prop_pitch_sw = -1;
                }

                if (keyCode == ap.cif.key_brake_right)
                {
                    ap.cif.brakeRight_sw = 1;
                }
                if (keyCode == ap.cif.key_brake_left)
                {
                    ap.cif.brakeLeft_sw = 1;
                }

                if (keyCode == ap.cif.key_landing_gear_sw)
                {
                    ap.cif.landing_gear_counter = 0.0D;
                    if (ap.cif.landing_gear_sw == 1)
                    {
                        ap.cif.landing_gear_sw = -1;
                    }
                    else
                    {
                        ap.cif.landing_gear_sw = 1;
                    }
                }

                if (keyCode == ap.cif.key_flap_down)
                {
                    ap.cif.flap_sw = -1;
                }
                if (keyCode == ap.cif.key_flap_up)
                {
                    ap.cif.flap_sw = 1;
                }

                if (keyCode == ap.cif.key_front)
                {
                    ap.cif.view_direction = 1;
                }
                if (keyCode == ap.cif.key_front_left)
                {
                    ap.cif.view_direction = 2;
                }
                if (keyCode == ap.cif.key_left)
                {
                    ap.cif.view_direction = 3;
                }
                if (keyCode == ap.cif.key_rear_left)
                {
                    ap.cif.view_direction = 4;
                }
                if (keyCode == ap.cif.key_rear)
                {
                    ap.cif.view_direction = 5;
                }
                if (keyCode == ap.cif.key_rear_right)
                {
                    ap.cif.view_direction = 6;
                }
                if (keyCode == ap.cif.key_right)
                {
                    ap.cif.view_direction = 7;
                }
                if (keyCode == ap.cif.key_front_right)
                {
                    ap.cif.view_direction = 8;
                }
                if (keyCode == ap.cif.key_upper)
                {
                    ap.cif.view_upper = 1;
                }

                if (keyCode == ap.cif.key_padLock)
                {
                    if (ap.cif.padLock_sw == 0)
                    {
                        ap.cif.padLock_sw = 1;
                    }
                    else
                    {
                        ap.cif.padLock_sw = 0;
                    }
                }

                if (keyCode == ap.cif.key_padLock_next)
                {
                    pobj.PadLockNext(ap);
                }

                if (keyCode == ap.cif.key_padLock_prev)
                {
                    pobj.PadLockPrev(ap);
                }
            }

            if (simIF.mode == 1)
            {
                if (keyCode == simIF.key_record_output)
                {
                    simIF.record_output_sw = 1;
                }

                if (keyCode == simIF.key_dispData)
                {
                    if (simIF.dispDataSw == 0)
                    {
                        simIF.dispDataSw = 1;
                    }
                    else
                    {
                        simIF.dispDataSw = 0;
                    }
                }

                for (int i = 0; i < simIF.key_locus_action.Length; i++)
                {
                    if (keyCode == simIF.key_locus_action[i])
                    {
                        simIF.locus_action_sw[i] = 1;
                    }
                }

                if (keyCode == simIF.key_param_reset)
                {
                    simIF.param_reset_sw = 1;
                }

                if (keyCode == simIF.key_data_foword)
                {
                    simIF.data_foword_sw = 1;
                }
                if (keyCode == simIF.key_data_back)
                {
                    simIF.data_back_sw = 1;
                }
            }
        }