// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { lastTimeClosed = DateTime.Now.Subtract(DateTime.MinValue).TotalSeconds; Application.Quit(); } targetMultiplierCounter *= multiplierDecelerationFactor; actualMultiplierCounter = actualMultiplierCounter * smoothFactor + targetMultiplierCounter * (1.0f - smoothFactor); multiplier = (int)(actualMultiplierCounter / 30.0f) + 1; if (actualMultiplierCounter > multiplierCountLimit) { actualMultiplierCounter = multiplierCountLimit; } if (multiplier > maxMultiplier) { multiplier = maxMultiplier; } if (currentPlanet.traveledDistance >= currentPlanet.distanceToTravel) { return; } newAdditionalSpeed *= decelerationFactor; if (boostComp.GetBoostStatus()) { //boost = clicker.GetCurrentValue () * (double)maxMultiplier; boost = baseSpeed * 0.1f; } else { boost = 0; } targetSpeed = baseSpeed + newAdditionalSpeed + boost; actualSpeed = actualSpeed * smoothFactor + targetSpeed * (1 - smoothFactor); distance += (actualSpeed * Time.deltaTime); points += (actualSpeed * Time.deltaTime) * pointsDistanceMultiplier; currentPlanet.MovePlanet(targetSpeed * Time.deltaTime); //pretty stuff should be handled by gui instead //currentSpeed = Mathf.Round ((float)currentSpeed); //distance = Mathf.Round ((float)distance); if (Time.time - lastAccelerationTime > 1.0f) { clicksPerSecond = 1.0f; } CalculateETA(); }