/* * Roblox Studio Mod Manager (ProjectSrc/Utility/SystemEvent.cs) * MIT License * Copyright (c) 2015-present MaximumADHD */ namespace Bloxstrap.Utility { public class SystemEvent : EventWaitHandle { public string Name { get; private set; } public SystemEvent(string name, bool init = false, EventResetMode mode = EventResetMode.AutoReset) : base(init, mode, name) { if (init) Reset(); else Set(); Name = name; } public override string ToString() { return Name; } public Task WaitForEvent() { return Task.Run(WaitOne); } public Task WaitForEvent(TimeSpan timeout, bool exitContext = false) { return Task.Run(() => WaitOne(timeout, exitContext)); } public Task WaitForEvent(int millisecondsTimeout, bool exitContext = false) { return Task.Run(() => WaitOne(millisecondsTimeout, exitContext)); } } }