美文网首页
升级获取技能

升级获取技能

作者: APP4x | 来源:发表于2020-01-02 18:51 被阅读0次

    升级获取技能,三选1
    rougelike游戏常见的模式

    增加属性都简单,主要是如何暂停游戏内容

    主要有两个地方控制
    1.Update
    提取出一个PauseObject继承MonoBehaviour
    定义一个虚方法,OnUpdate
    Update里面进行判断,如果没暂停才调用OnUpdate
    暂停通过GameManager里面的一个静态bool变量控制

    2.协程
    定义一个CoroutineManager统一管理所有协程
    对于每个协程封装一层CoroutineTask,进行管理
    里面有一个IEnumerator Run()
    开启就是开启这个Run协程
    在里面可以控制暂停,结束以及完成时回调

    public IEnumerator Run()
    {
        var e = coroutine;
        while (running)
        {
            if (GameManager.Pause || this.pause)
            {
                yield return null;
            }
            else
            {
                if (e != null && e.MoveNext())
                {
                    yield return e.Current;
                }
                else
                {
                    running = false;
                }
                if (OnFinish != null)
                {
                    OnFinish(stopped);
                }
            }
        }
        CoroutineTaskManager.Instance.RecycleCoroutineTask(this);
    }
    

    这样只需设置

      GameManager.Pause = true;
    

    就可以实现对一切实体静止的操作了,类似Timescale的效果

    相关文章

      网友评论

          本文标题:升级获取技能

          本文链接:https://www.haomeiwen.com/subject/gewooctx.html