示例#1
0
        public void ShiftUP(Speedometer s)
        {
            float speed = s.getSpeed();

            if (canGearUP)
            {
                GearUP(speed); //change gear without delay
            }
        }
示例#2
0
 public override void RunThread()
 {
     while (true)
     {
         if (s.isChange())
         {
             System.Threading.Thread.Sleep(10);
             this.drawLineAtAngle(s.getSpeed());
         }
     }
 }
示例#3
0
 public override void RunThread()
 {
     while (true)
     {
         while (!s.getwPressed())
         {
             this.speed = s.getSpeed();
             try
             {
                 System.Threading.Thread.Sleep(10);
             }
             catch (ThreadInterruptedException e)
             {
                 e.ToString();
             }
             s.decreaseSpeed(1f);
         }
     }
 }
示例#4
0
        public void Press(Speedometer s, GearChanger gc)
        {
            this.pressedClutch = true;
            this.lastSpeed     = s.getSpeed();
            this.lastGear      = gc.getGear();
            //need to make this function unblocking
            if (gc.getGear() != 0)
            {
                new Thread(() =>
                {
                    Thread.CurrentThread.IsBackground = true;
                    while (this.isClutchPressed()) //while engine isn't engaged
                    {
                        System.Threading.Thread.Sleep(10);
                        s.decreaseSpeed(5f);
                    }
                }).Start();


                this.pressFinished = true;
            }
        }