Newer
Older
MI-AudioMixer / Library / PackageCache / com.unity.package-manager-ui@2.0.3 / Editor / Sources / Services / Common / ThreadedDelay.cs
@flameshadow flameshadow on 10 Apr 2019 753 bytes first commit
using System.Threading;

namespace UnityEditor.PackageManager.UI
{
    internal class ThreadedDelay
    {
        public int Length { get; set; }            // In milliseconds
        public bool IsDone { get; private set; }

        public ThreadedDelay(int length = 0)
        {
            Length = length;
            IsDone = false;
        }

        public void Start()
        {
            if (Length <= 0)
            {
                IsDone = true;
                return;
            }

            IsDone = false;
            
            Thread newThread = new Thread(() =>
            {
                Thread.Sleep(Length);
                IsDone = true;
            });
            
            newThread.Start();
        }
    }
}