Utility.cs 1.33 KB
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace Globatools
{
    public class Utility
    {
        public static string GetFormattedTime(float time)
        {
            int min = Mathf.FloorToInt(time / 60);
            int sec = Mathf.FloorToInt(time % 60);
            int mill = Mathf.FloorToInt(time * 1000);
            mill = mill % 1000;

            return string.Format("{0:00}:{1:00}.{2:00}", min, sec, mill);
        }

        public static string GetRaceFormattedTime(float time)
        {
            int min = Mathf.FloorToInt(time / 60);
            int sec = Mathf.FloorToInt(time % 60);

            return string.Format("{0:0}:{1:00}", min, sec);
        }

        public class CoroutineWithData
        {
            public Coroutine coroutine { get; private set; }
            public object result;
            private IEnumerator target;
            public CoroutineWithData(MonoBehaviour owner, IEnumerator target)
            {
                this.target = target;
                this.coroutine = owner.StartCoroutine(Run());
            }

            private IEnumerator Run()
            {
                while (target.MoveNext())
                {
                    result = target.Current;
                    yield return result;
                }
            }
        }
    }
}