Repository URL to install this package:
Version:
1.3.1 ▾
|
using System;
using System.Diagnostics.CodeAnalysis;
using UnityEngine;
namespace Fluctio.FluctioSim.Utils.Extensions
{
public static class TimeSpanExtensions
{
public static int ToSteps(this TimeSpan time) => Mathf.RoundToInt((float)time.TotalSeconds / Time.fixedDeltaTime);
public static TimeSpan FromSteps(int steps) => TimeSpan.FromSeconds(steps * Time.fixedDeltaTime);
[SuppressMessage("ReSharper", "CompareOfFloatsByEqualityOperator")]
public static string ToReadableString(this TimeSpan value) =>
(value.TotalMinutes < 1) ? $"{value.Seconds}s" :
(value.TotalMinutes == 1) ? $"{value.Minutes}m" :
(value.TotalHours < 1) ? $"{value.Minutes}m {value.Seconds}s" :
(value.TotalHours == 1) ? $"{value.Hours}h" :
(value.TotalDays < 1) ? $"{value.Hours}h {value.Minutes}m" :
(value.TotalDays == 1) ? $"{value.Days}d" :
$"{value.Days}d {value.Hours}h";
public static TimeSpan Modulo(this TimeSpan timeSpan, TimeSpan interval) =>
TimeSpan.FromTicks(timeSpan.Ticks % interval.Ticks);
}
}