TimeTrackerController.Update C# (CSharp) Method

Update() private method

private Update ( ) : void
return void
	void Update () {
	
		if (!timeTracker.getIsPaused()) { ///not currently paused.

			///get time scale...
			float timeScale = GetComponent<TimeScaleController>().getTimeScale();
			float adjustedDT = Time.deltaTime * timeScale;

			//timer += Time.deltaTime; //get the time from last frame.
			timer += adjustedDT;

			//speedlimit.
			float speedLimit = 1.0f; //literally 1 second per frame.
			float speedMultiplier = 1.0f;
			if (adjustedDT > speedLimit) {
				//create some multiplier.
				speedMultiplier = timeScale / 60.0f;
			}


			//one second has passed...
			if (timer >= 1.0f) { 

				//keep any leftover deltatime stored in timer... so don't set it = 0. just sub 1.
				timer -= 1.0f;

				//increment in the time tracker.

				int curTime = timeTracker.getSimTimeInSeconds();
				//set new time to be current time
				int increase = (int)Mathf.Floor(1 * speedMultiplier);

				timeTracker.setSimTimeInSeconds(curTime + increase);


				//fire event to let everyone know that a second has passed.
				//parameter is for the current time of day in seconds.
				if (onOneSecondPassed != null)
					onOneSecondPassed(timeTracker.getSimTimeInSeconds() + timeTracker.getSimStartTime());

			}

		}

		//let's try to print the time now.
		//printSimTime(TimeFormat.timeOfDay);

	}