//public virtual void Run() //{ // //while (thread == ILOG.J2CsMapping.Threading.ThreadWrapper.CurrentThread) // { // //Repaint(); // try // { // //Sleep(tp.ThreadPeriodMsec()); // } // catch (ThreadInterruptedException localInterruptedException) // { // } // } //} //public override void Start() //{ // if (thread == null) // { // thread = new ThreadWrapper(this); // thread.Start(); // } //} //public override void Stop() //{ // thread = null; //} public void Update(Graphics g) { if (simIF.changePlane == 1) { //g.DrawString("Now Loading...", 200, 250); System.Console.Out.WriteLine("################# 飛行機変更 ############################################"); System.Console.Out.WriteLine("飛行機番号=" + configMenu.selectedAirPlane); System.Console.Out.WriteLine("CODEBASE=" + codeBase); System.Console.Out.WriteLine("PATH=" + configMenu.apl.GetPath(configMenu.selectedAirPlane)); simIF.changePlane = 0; ap = new AirPlane(codeBase, configMenu.apl.GetPath(configMenu.selectedAirPlane)); ap.Set_pMotionLand(); InitPadlockList(); } if (simIF.changePSetting == 1) { configMenu.SetPSetting(tp); simIF.changePSetting = 0; } if (simIF.pause_sw == 0) { simIF.counter -= 1; if (simIF.counter <= 0) { for (int i = 0; i < tp.t_disp; i++) { ap.Update(tp.dt); if (ap.crash_point != -1) { Jp.Maker1.Util.Gui.Caption.SetCaption("POINT " + ap.crash_point + " TOUCH THE GROUND.", 4.0D); } tp.simT += tp.dt; tp.rec_counter += 1; if (tp.rec_counter >= tp.t_record) { recorder.Record(tp.simT, tp.dt, ap); tp.rec_counter = 0; } } if (simIF.slow_mode == 1) { simIF.counter = simIF.slow_count; } else { simIF.counter = 0; } } } if (simIF.mode == 0) { gd.CreateImage(myGC, ap, simIF, tp.dt); //myGC.SetColor(Java.Awt.Color.black); myGC.DrawRectangle(Pens.Black, (int)sX0, (int)sY0, (int)(sX1 - sX0 - 1.0D), (int)(sY1 - sY0 - 1.0D)); } else if (simIF.mode == 1) { if (simIF.locusMake == 1) { //g.SetColor(Java.Awt.Color.white); //g.FillRect((int)sX0, (int)sY0, (int)(sX1 - sX0 + 1.0D), (int)(sY1 - sY0 + 1.0D)); //g.SetColor(Java.Awt.Color.black); //g.DrawString("Now Drawing...", 280, 150); locusVierer = new LocusViewer(sX0, sY0, sX1, sY1, ap, recorder); simIF.locusMake = 0; } locusVierer.UpdateDispParam(simIF, tp.ThreadPeriod()); if (simIF.locusImageMake == 1) { //g.SetColor(Java.Awt.Color.white); //g.FillRect((int)sX0, (int)sY0, (int)(sX1 - sX0 + 1.0D), (int)(sY1 - sY0 + 1.0D)); //g.SetColor(Java.Awt.Color.black); //g.DrawString("Now Drawing...", 280, 150); locusVierer.DrawLocus(locusGC, 1); // myGC.DrawImage(LocusImage, 0, 0, this); simIF.locusImageMake = 0; } //myGC.DrawImage(LocusImage, 0, 0, this); if (simIF.Check_locus_action_sw() > 0) { // myGC.DrawImage(LocusImage, 0, 0, this); locusVierer.DrawLocus(myGC, 0); } locusVierer.DrawData(myGC, simIF); // myGC.SetColor(Java.Awt.Color.black); //myGC.DrawRect((int)sX0, (int)sY0, (int)(sX1 - sX0 - 1.0D), (int)(sY1 - sY0 - 1.0D)); } else if (simIF.mode == 2) { configMenu.Draw(myGC, "Ver.1.1 2003.11.04"); } tp.tsim_dt += tp.ThreadPeriod(); long t_end = (DateTime.Now.Ticks / 10000); if (simIF.pause_sw == 0) { //myGC.SetColor(gd.informationColor); myGC.DrawString("ΔT:" + DispFormat.DoubleFormat(tp.dt * 1000.0D, 3, 0), gd.stdFont, gd.interfaceColorBrush, 2, 11); //myGC.DrawString("T:" + Jp.Maker1.Sim.Tools.Tool.TimeStr3(tp.simT), 2, 22); //myGC.DrawString("T-ΣΔT:" + Jp.Maker1.Util.DispFormat.DoubleFormat((t_end - tp.tStart) / 1000.0D - tp.tsim_dt, 3, 3), 2, 33); //myGC.DrawString("TGT.FR:" + Jp.Maker1.Util.DispFormat.DoubleFormat(1.0D / tp.ThreadPeriod(), 3, 1), 2, 44); } Jp.Maker1.Util.Gui.Caption.Draw(myGC); Jp.Maker1.Util.Gui.Caption.Update(tp.ThreadPeriod()); //g.DrawImage(doubleBuffer, 0, 0, this); if (simIF.record_output_sw == 1) { simIF.record_output_sw = 0; recorder.Print("Ver.1.1 2003.11.04"); } }
public void KeyReleased(Keys keyCode, AirPlane ap, SimulatorInterface simIF) { if (keyCode == simIF.key_ctrl) { simIF.ctrl_sw = 0; } if ((simIF.mode == 0) && (simIF.pause_sw == 0)) { if ((keyCode == ap.cif.key_rudder_left) || (keyCode == ap.cif.key_rudder_right)) { ap.cif.rudder_sw = 0; } if ((keyCode == ap.cif.key_throttle_up) || (keyCode == ap.cif.key_throttle_down)) { ap.cif.throttle_sw = 0; } if ((keyCode == ap.cif.key_mixture_lean) || (keyCode == ap.cif.key_mixture_rich)) { ap.cif.mixture_sw = 0; } if ((keyCode == ap.cif.key_prop_pitch_high) || (keyCode == ap.cif.key_prop_pitch_low)) { ap.cif.prop_pitch_sw = 0; } 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_flap_down) || (keyCode == ap.cif.key_flap_up)) { ap.cif.flap_sw = 0; } if ((keyCode == ap.cif.key_front) || (keyCode == ap.cif.key_front_left) || (keyCode == ap.cif.key_left) || (keyCode == ap.cif.key_rear_left) || (keyCode == ap.cif.key_rear) || (keyCode == ap.cif.key_rear_right) || (keyCode == ap.cif.key_right) || (keyCode == ap.cif.key_front_right)) { ap.cif.view_direction = 0; } if (keyCode == ap.cif.key_upper) { ap.cif.view_upper = 0; } } if (simIF.mode == 1) { for (int i = 0; i < simIF.key_locus_action.Length; i++) { if (keyCode == simIF.key_locus_action[i]) { simIF.locus_action_sw[i] = 0; if (simIF.Check_locus_action_sw() == 0) { simIF.locusImageMake = 1; } else { simIF.locusImageMake = 0; } } } if (keyCode == simIF.key_data_foword) { simIF.data_foword_sw = 0; } if (keyCode == simIF.key_data_back) { simIF.data_back_sw = 0; } } }