Exemple #1
0
        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;
 }
Exemple #3
0
        /// <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));
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        /// <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;
        }
Exemple #6
0
        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;
 }
Exemple #8
0
    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);
    }
Exemple #9
0
 public void SetTimerProcessMode(TimeoutDelegate timeoutMethod, Timer.TimerProcessMode processMode)
 {
     Timers[timeoutMethod.Method.Name].ProcessMode = processMode;
 }