Skip to content
This repository was archived by the owner on Feb 6, 2025. It is now read-only.

chikacc/UniTime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniTime

test openupm releases release data unity license

Provides a testable time integration for Unity.

Overview

The UniTime Package provides a testable time integration solution for Unity, allowing developers to easily manipulate and control time within their projects. With UniTime, you can pause, slow down, or speed up time, as well as create custom time events and triggers. This package is perfect for games that require advanced time management, such as simulations, strategy games, or puzzle games.

Gettings Started

Install via UPM package or asset package(UniTime...*.unitypackage) available in UniTime/releases page.

using UniTime;

async Task Demo() {
    var timeProvider = new UniTimeProvider();
    Debug.Log("Current time: " + timeProvider.Time);

    var stopwatch = new DoubleBasedUniTimeStopwatch(timeProvider);
    stopwatch.Start();

    var ticker = new GameObject().AddComponent<CoroutineUniTimeTicker>();
    ticker.Tick += () => Debug.Log($"Ticker tick: {timeProvider.Time}");

    var timer = new DoubleBasedUniTimeTimer(timeProvider, ticker);
    timer.Interval = 5000; // 5 seconds
    timer.AutoReset = true;
    timer.Elapsed += (sender, e) => Debug.Log($"Timer elapsed: {stopwatch.Elapsed}");
    timer.Enabled = true;
    
    await Task.Delay(TimeSpan.FromSeconds(15));
    stopwatch.Stop();
    Debug.Log("Stopwatch elapsed: " + stopwatch.Elapsed);
}

License

This library is licensed under the MIT License.

Logo icon made by verry purnomo from Flaticon. Logo Font made by SourceSansPro from Adobe Systems Incorporated.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •