首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#是否批准在统一中为应用程序的逻辑流使用IEnumerator协同服务?

C#是否批准在统一中为应用程序的逻辑流使用IEnumerator协同服务?
EN

Stack Overflow用户
提问于 2018-03-24 03:21:58
回答 2查看 354关注 0票数 1

我正在使用C#进行统一开发,我想问一下,使用IEnumerator协同器来确定应用程序执行用户逻辑是否合适?如果有其他最优的解决方案来实现这一点。

作为一系列严格的顺序行动..。

  1. 用户触发GUI操作。
  2. 打开表单,等待填写完毕。
  3. 开始检查任务(4)中是否满足获胜条件,如果完成,跳转到(5)。
  4. 一系列要用户完成的顺序任务,将结果返回到(3)。在一个循环完成之后。继续在各阶段之间骑车(3.)和(4.)直到获胜条件得到满足。
  5. 获奖条件满足,将最终结果通知用户。退出联合例程。

我确实希望我的逻辑是正确的,并对所涉及的具体任务的含糊不清表示歉意。

EN

回答 2

Stack Overflow用户

发布于 2018-03-24 14:31:22

出于正确的原因,使用协同机制是完全可以的。虽然据我所读到的,你正在做的是一个经理,检查游戏的状态。

在这种情况下,我要做的是有一个简单的管理器,它根本不使用update循环或协同器,而是任何能够改变游戏状态的游戏对象都会告诉管理人员更改的情况。基本上,经理不需要知道一个单一的游戏对象,也不需要使用任何性能来检查所有相关对象。

使用此体系结构,您还可以添加一个事件处理程序体系结构,它解决了游戏对象了解管理器的问题,现在您有了一个与游戏完全解耦的管理器:)

票数 2
EN

Stack Overflow用户

发布于 2018-03-25 12:50:00

虽然你所想的当然是可能的,但是一旦你有了多个获胜的条件,也许是失去了条件,并且有了不止一个球员,你就很难维持下去了。

如果您认为这将是您的问题,我建议将“游戏状态”作为单例,并允许不同的游戏对象在各自的Update()调用中更改状态。

(我还想指出,统一地创建单个对象相当容易-在唤醒()期间,将对象本身保存为一个静态变量)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49460886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档