logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnityTimerService

    Unity-specific timer service that manages multiple timer instances as MonoBehaviour components.
    Provides centralized timer management with creation, retrieval, and removal capabilities.

    Inheritance
    object
    UnityTimerService
    Implements
    ITimerService
    IService
    IFoundationSettings
    Namespace: Serenity.Timer.Infrastructure.Components
    Assembly: Serenity.UnityTimer.Infrastructure.dll
    Syntax
    public class UnityTimerService : MonoBehaviour, ITimerService, IService, IFoundationSettings

    Constructors

    UnityTimerService()

    Declaration
    public UnityTimerService()

    Fields

    _guid

    Declaration
    protected string _guid
    Field Value
    Type Description
    string

    Globally unique identifier for the service instance.

    _id

    Declaration
    protected string _id
    Field Value
    Type Description
    string

    Unique identifier for the service instance.

    _logService

    Declaration
    protected ILogService _logService
    Field Value
    Type Description
    ILogService

    Logging service for recording events and errors.

    Properties

    Guid

    Declaration
    public string Guid { get; set; }
    Property Value
    Type Description
    string

    Id

    Declaration
    public string Id { get; set; }
    Property Value
    Type Description
    string

    LogService

    Declaration
    public ILogService LogService { get; set; }
    Property Value
    Type Description
    ILogService

    Methods

    AddTimer(string, ITimer, TimeMode, bool)

    Adds an existing timer instance with the specified identifier.
    Registers a pre-created timer instance with the service and sets up its parent relationship.

    Declaration
    public void AddTimer(string id, ITimer timer, TimeMode mode = 1, bool overwrite = false)
    Parameters
    Type Name Description
    string id

    The unique identifier for the timer

    ITimer timer

    The timer instance to add

    TimeMode mode

    The time-scaling mode for the timer (default: Unscaled)

    bool overwrite

    Whether to overwrite an existing timer with the same ID

    Exceptions
    Type Condition
    Exception

    Thrown when a timer with the same ID already exists and overwrite is false

    AddTimer(string, TimeMode, bool)

    Adds a new timer with the specified identifier, creating it using the timer factory.
    Creates and configures a new timer instance with the provided ID.

    Declaration
    public ITimer AddTimer(string id, TimeMode mode = 1, bool overwrite = false)
    Parameters
    Type Name Description
    string id

    The unique identifier for the new timer

    TimeMode mode

    The time-scaling mode for the timer (default: Unscaled)

    bool overwrite

    Whether to overwrite an existing timer with the same ID

    Returns
    Type Description
    ITimer

    The newly created timer instance

    GetAllTimers()

    Gets a dictionary containing all active timers managed by this service.
    Provides access to the complete collection of registered timer instances.

    Declaration
    public Dictionary<string, ITimer> GetAllTimers()
    Returns
    Type Description
    Dictionary<string, ITimer>

    A dictionary of timer instances keyed by their identifiers

    GetTimer(string)

    Gets a timer by its unique identifier.
    Searches the internal timer dictionary for the specified timer.

    Declaration
    public ITimer GetTimer(string id)
    Parameters
    Type Name Description
    string id

    The unique identifier of the timer to retrieve

    Returns
    Type Description
    ITimer

    The timer instance associated with the specified ID

    Exceptions
    Type Condition
    Exception

    Thrown when no timer exists with the specified ID

    GetTimerFormatter()

    Gets the timer formatter service for formatting timer values.
    Provides utility methods for displaying timer information in various formats.

    Declaration
    public TimerFormatterService GetTimerFormatter()
    Returns
    Type Description
    TimerFormatterService

    The timer formatter service instance

    InitializeService(TimerFactory, ILogService)

    Initializes the timer service with the specified timer factory.
    Sets up the factory used for creating new timer instances within this service.

    Declaration
    public void InitializeService(TimerFactory timerFactory, ILogService logService)
    Parameters
    Type Name Description
    TimerFactory timerFactory

    The timer factory to use for creating new timer instances

    ILogService logService

    The log service to be used by the timer service.

    InitializeTimeProvider(ITimeProvider)

    Initializes the time provider used to read per-frame deltas.
    Must be called after InitializeService(TimerFactory, ILogService) during installation.

    Declaration
    public void InitializeTimeProvider(ITimeProvider timeProvider)
    Parameters
    Type Name Description
    ITimeProvider timeProvider

    The time provider that supplies frame delta values.

    RemoveTimer(string)

    Removes a timer from the service by its unique identifier.
    Unregisters the timer from the internal dictionary and removes it from the service.

    Declaration
    public void RemoveTimer(string id)
    Parameters
    Type Name Description
    string id

    The unique identifier of the timer to remove

    Exceptions
    Type Condition
    Exception

    Thrown when no timer exists with the specified ID

    UpdateTimers()

    Updates all registered timers for the current frame.
    Reads the appropriate delta (scaled or unscaled) from the injected ITimeProvider based on each timer's TimeMode.

    Declaration
    public void UpdateTimers()

    Implements

    ITimerService
    IService
    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved