public static Timer CreateConnectedTimer(this Node node, string method, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { Timer timer = node.CreateConnectedTimer(node, method, processMode, waitTime, oneShot, autostart); return(timer); }
/// <summary> /// Specifies a method to be connected to a <c>timer</c> in the node's <c>TimerSystem</c>. /// </summary> /// <remarks> /// Can be embedded with either the <c>TimerSystem</c> field itself with the specified timeout method, or directly with the timeout method itself. /// </remarks> /// <param name="processMode"></param> /// <param name="waitTime"></param> /// <param name="oneShot"></param> /// <param name="autostart"></param> public TimerReceiverAttribute(Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { ProcessMode = processMode; WaitTime = waitTime; OneShot = oneShot; Autostart = autostart; }
/// <summary> /// Generates a new child timer and adds it to the dictionary. /// </summary> /// <param name="timeoutMethod"></param> /// <param name="processMode"></param> /// <param name="waitTime"></param> /// <param name="oneShot"></param> /// <param name="autostart"></param> /// <returns>A reference to the generated Timer.</returns> public Timer AddTimer(TimeoutDelegate timeoutMethod, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { string timeoutName = timeoutMethod.Method.Name; return(AddTimer(timeoutName, processMode, waitTime, oneShot, autostart)); }
/// <summary> /// Generates a new child timer and adds it to the dictionary. /// </summary> /// <param name="timeoutName"></param> /// <param name="processMode"></param> /// <param name="waitTime"></param> /// <param name="oneShot"></param> /// <param name="autostart"></param> /// <returns>A reference to the generated Timer.</returns> public Timer AddTimer(string timeoutName, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { Timer timer = this.CreateConnectedTimer(Parent, timeoutName, processMode, waitTime, oneShot, autostart); Timers.Add(timeoutName, timer); return(timer); }
/// <summary> /// Adds a child <c>Timer</c> node with the specified criteria, and assigns a reference to it to the field. /// </summary> /// <param name="timeoutMethod"></param> /// <param name="processMode"></param> /// <param name="waitTime"></param> /// <param name="oneShot"></param> /// <param name="autostart"></param> public TimerAttribute(string timeoutMethod, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { _timeoutMethod = timeoutMethod; _processMode = processMode; _waitTime = waitTime; _oneShot = oneShot; _autostart = autostart; }
public static Timer CreateConnectedTimer(this Node node, Node target, string method, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) { Timer timer = node.AddAndReturnChild(new Timer()); timer.ProcessMode = processMode; timer.WaitTime = waitTime; timer.OneShot = oneShot; timer.Autostart = autostart; target.ConnectTimer(timer, method); timer.Name = method; return(timer); }
/// <inheritdoc /> /// <param name="timeoutMethod"></param> /// <param name="processMode"></param> /// <param name="waitTime"></param> /// <param name="oneShot"></param> /// <param name="autostart"></param> public TimerReceiverAttribute(string timeoutMethod, Timer.TimerProcessMode processMode = Timer.TimerProcessMode.Idle, float waitTime = 1f, bool oneShot = false, bool autostart = false) : this(processMode, waitTime, oneShot, autostart) { TimeoutMethod = timeoutMethod; }
public static void CreateRegularTimer(this Node node, string targetMethodName, float interval, Timer.TimerProcessMode mode = Timer.TimerProcessMode.Idle) { Timer uploadTimer = new Timer(); uploadTimer.OneShot = false; uploadTimer.Autostart = true; uploadTimer.Connect("timeout", node, targetMethodName); uploadTimer.WaitTime = interval; uploadTimer.ProcessMode = mode; node.AddChild(uploadTimer); }
public void SetTimerProcessMode(TimeoutDelegate timeoutMethod, Timer.TimerProcessMode processMode) { Timers[timeoutMethod.Method.Name].ProcessMode = processMode; }