zoukankan      html  css  js  c++  java
  • Github

    https://github.com/pointcache/Unity3d-Timers

    Unity3d-Timers

    Timer class with various behaviors

    About: Have a system allowing to easily create and extend complex timer behaviors.

    Usage:

    //Start simple repeater 
    Timer.Repeater(5f, () => Debug.Log("Repeater test"));
    //Start countdown and call Draw in 2.5 seconds
    Timer.Countdown(2.5f, Draw);

    Concept: A manager class pools and constructs new timers, timer store up to 4 handlers, and arbitrarely raise events in concrete implementation.

    private class CountdownBehavior : TimerBehaviorBase, ITimerBehavior
    {
        float exitTime;
        public void Initialize()
        {
            exitTime = f1;
        }
    
        public void Update(float deltaTime)
        {
            TimePassed += deltaTime;
            TotalTimeActive += deltaTime;
    
            if (TimePassed > exitTime)
            {
                Completed = true;
                c1();
            }
        }
    }
    

    Countdown inherits TimerBehaviorBase and implements ITimerBehavior. On top of that only concrete behavior in implemented that uses data and callbacks provided in constructor:

    public static Timer Countdown(float exitTime, Action callback)
    {
        Timer timer = TimerManager.getTimer();
        timer.SetBehavior<CountdownBehavior>();
        timer.behaviorBase
            .SetFloats(exitTime, 0, 0, 0)
            .SetCallbacks(callback, null, null, null);
        timer.behavior.Initialize();
        return timer;
    }
    

    as you can see you can set 4 floats, and 4 callbacks and use them in your implementation of behavior as you like. Examples 

    For concrete real example look at Ability class, it implements typical game ability, with cooldown.

  • 相关阅读:
    Javascript 严格模式详解
    SeaJS与RequireJS最大的区别
    AMD 和 CMD 的区别有哪些?
    JS 关于(function( window, undefined ) {})(window)写法的理解
    高性能 CSS3 动画
    js对象私有变量公有变量问题
    探讨js字符串数组拼接的性能问题
    提高 DHTML 页面性能
    vue请求本地json数据
    vuejs绑定img 的src
  • 原文地址:https://www.cnblogs.com/mimime/p/6995427.html
Copyright © 2011-2022 走看看