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.

  • 相关阅读:
    centos7安装docker-ce最新版
    输出第一个hello word程序(day1)
    centos7安装python3及ipython
    华为防火墙ping不通直连设备
    cisco网络设备基本命令
    linux中ftp
    查找你的域名DNS服务器
    Grafana 安装配置启动
    Jmeter 循环控制器
    CentOs 7查看端口占用情况,以及出现未找到命令的情况
  • 原文地址:https://www.cnblogs.com/mimime/p/6995427.html
Copyright © 2011-2022 走看看