Example #1
0
 public void CutTime(float value, OutOfFuel outOfFuel = null)
 {
     if (_outOfFuel == null)
     {
         _outOfFuel = outOfFuel;
     }
     transform.GetComponent <Image>().fillAmount -= value / 100;
     if (transform.GetComponent <Image>().fillAmount == 0)
     {
         OilEnded();
     }
 }
Example #2
0
 public void Travel(int time)
 {
     if (isBroken == false)
     {
         double traveled  = time * Speed;
         double fuelSpent = traveled / 100 * 3;
         if (fuelSpent > FuelAmmount)
         {
             traveled = FuelAmmount / 100 * 3;
             OutOfFuel?.Invoke(this, new CarEventArgs("Out of fuel, traveled as much as possible"));
         }
         else
         {
             FuelAmmount -= fuelSpent;
         }
         DistanceTraveled += traveled;
         if (DistanceTraveled >= 500)
         {
             ExcededMileage?.Invoke(this, new CarEventArgs("Traveled way too much, now broken"));
         }
     }
 }
Example #3
0
 public void TimeCount(OutOfFuel outOfFuel)
 {
     _outOfFuel = outOfFuel;
     StartCoroutine(TickTime(0, Speed));
 }