Exemple #1
0
 protected virtual void Update()
 {
     if (state == DamperState.Accelerating)
     {
         timer       += Time.deltaTime;
         engine.power = accelerationCurve.Evaluate(timer);
         if (timer >= accelerationCurve[accelerationCurve.length - 1].time)
         {
             timer   = 0;
             state   = DamperState.Stop;
             enabled = false;
         }
     }
     else if (state == DamperState.Decelerating)
     {
         timer       += Time.deltaTime;
         engine.power = decelerationCurve.Evaluate(timer);
         if (timer >= decelerationCurve[decelerationCurve.length - 1].time)
         {
             engine.enabled = false;
             engine.power   = timer = 0;
             state          = DamperState.Stop;
             enabled        = false;
         }
     }
 }
Exemple #2
0
 /// <summary>
 /// Begin accelerate engine's power.
 /// </summary>
 public virtual void BeginAccelerate()
 {
     if (engine.power == 0)
     {
         state   = DamperState.Accelerating;
         enabled = true;
     }
 }
Exemple #3
0
 /// <summary>
 /// Begin decelerate engine's power.
 /// </summary>
 public virtual void BeginDecelerate()
 {
     if (engine.power != 0 && state == DamperState.Stop)
     {
         state   = DamperState.Decelerating;
         enabled = true;
     }
 }