Beispiel #1
0
    internal override void _Exce(ViTimer timer)
    {
        Callback dele = _delegate;

        _delegate = null;
        _execTime = 0;
        dele(this);
    }
Beispiel #2
0
    //
    internal override void _Exce(ViTimer timer)
    {
        Callback dele = _delegate;

        _delegate = null;
        dele(this, _param);
        _execTime = 0;
        _param    = default(T);
    }
Beispiel #3
0
 //
 public void Start(ViTimer timer, UInt32 cnt, UInt32 span)
 {
     if (cnt > 0)
     {
         _reserveCnt = cnt - 1;
         _span       = span;
         SetTime(timer.Time + _span);
         timer.Add(this);
     }
 }
Beispiel #4
0
 public ViTime64 GetReserveDuration(ViTimer timer)
 {
     if (base.IsAttach())
     {
         return((_execTime > timer.Time) ? (_execTime - timer.Time) : 1);
     }
     else
     {
         return(0);
     }
 }
Beispiel #5
0
 public void SetReserveTime(ViTimer timer, UInt32 span, ViTime64 reserveTime)
 {
     if (span != 0)
     {
         _span = span;
         ViTime64 reserveTimeMod = (reserveTime > 0) ? (reserveTime - 1) : 0;
         _reserveCnt = (UInt32)(reserveTimeMod / _span);
         UInt32 reserveSpan = (UInt32)(reserveTimeMod % _span + 1);
         SetTime(timer.Time + reserveSpan);
         timer.Add(this);
     }
 }
Beispiel #6
0
 public new bool GetReserveDuration(ViTimer timer, ref ViTime64 reserveTime)
 {
     if (base.GetReserveDuration(timer, ref reserveTime))
     {
         ViDebuger.AssertError(reserveTime > 0);
         reserveTime += (Int64)_span * _reserveCnt;
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #7
0
 public bool GetReserveDuration(ViTimer timer, ref ViTime64 reserveTime)
 {
     if (base.IsAttach())
     {
         reserveTime = (_execTime > timer.Time) ? (_execTime - timer.Time) : 1;
         return(true);
     }
     else
     {
         reserveTime = 0;
         return(false);
     }
 }
Beispiel #8
0
    public static void Test()
    {
        ViTimer  timer    = new ViTimer();
        Listener listener = new Listener();

        timer.Start(0, 10, 10, 10);
        listener._node.SetTime(10);
        listener._node._SetDelegate(listener.Func);
        timer.Add(listener._node);
        timer.Update(9);
        timer.Update(11);
        listener._node.Detach();
        timer.End();
    }
Beispiel #9
0
 //
 internal override void _Exce(ViTimer timer)
 {
     if (_reserveCnt > 0)
     {
         --_reserveCnt;
         _delegate(this);
         SetTime(timer.Time + _span);
         timer.Add(this);
     }
     else
     {
         Callback dele = _delegate;
         _delegate = null;
         dele(this);
         _execTime = 0;
         _span     = 0;
     }
 }
Beispiel #10
0
 internal override void _Exce(ViTimer timer)
 {
     if (_reserveCnt == 0)
     {
         Callback dele = _endDelegate;
         _tickDelegate = null;
         _endDelegate  = null;
         dele(this);
         //
         _execTime = 0;
         _span     = 0;
     }
     else
     {
         _tickDelegate(this);
         --_reserveCnt;
         SetTime(timer.Time + _span);
         timer.Add(this);
     }
 }
Beispiel #11
0
 internal abstract void _Exce(ViTimer timer);