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.

  • 相关阅读:
    Java中对话框的弹出
    数据格式化和ModelAttribute注解的介绍
    SpringMVC的环境搭建
    Js基础之数组
    Js基础之函数
    POJ-3208 Apocalypse Someday (数位DP)
    HDU-6148 Valley Number (数位DP)
    [SCOI2009] [BZOJ1026] windy数
    POJ-2411 Mondriann's Dream (状压DP)
    「SCOI2005」互不侵犯 (状压DP)
  • 原文地址:https://www.cnblogs.com/mimime/p/6995427.html
Copyright © 2011-2022 走看看