我正在使用C#进行统一开发,我想问一下,使用IEnumerator协同器来确定应用程序执行用户逻辑是否合适?如果有其他最优的解决方案来实现这一点。
作为一系列严格的顺序行动..。
我确实希望我的逻辑是正确的,并对所涉及的具体任务的含糊不清表示歉意。
发布于 2018-03-24 14:31:22
出于正确的原因,使用协同机制是完全可以的。虽然据我所读到的,你正在做的是一个经理,检查游戏的状态。
在这种情况下,我要做的是有一个简单的管理器,它根本不使用update循环或协同器,而是任何能够改变游戏状态的游戏对象都会告诉管理人员更改的情况。基本上,经理不需要知道一个单一的游戏对象,也不需要使用任何性能来检查所有相关对象。
使用此体系结构,您还可以添加一个事件处理程序体系结构,它解决了游戏对象了解管理器的问题,现在您有了一个与游戏完全解耦的管理器:)
发布于 2018-03-25 12:50:00
虽然你所想的当然是可能的,但是一旦你有了多个获胜的条件,也许是失去了条件,并且有了不止一个球员,你就很难维持下去了。
如果您认为这将是您的问题,我建议将“游戏状态”作为单例,并允许不同的游戏对象在各自的Update()调用中更改状态。
(我还想指出,统一地创建单个对象相当容易-在唤醒()期间,将对象本身保存为一个静态变量)
https://stackoverflow.com/questions/49460886
复制相似问题