Files
abysmal-isle/Scripts/Misc/TaskPollingTimer.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

28 lines
608 B
C#

using System;
using System.Threading.Tasks;
namespace Server
{
public class TaskPollingTimer<T> : Timer
{
private Task<T> m_Task;
private Action<T> m_Callback;
public TaskPollingTimer(Task<T> task, Action<T> callback)
: base(TimeSpan.FromSeconds(1.0), TimeSpan.FromSeconds(1.0))
{
m_Task = task;
m_Callback = callback;
}
protected override void OnTick()
{
if (m_Task.IsCompleted)
{
m_Callback(m_Task.Result);
Stop();
}
}
}
}