使用C#,我正在处理一个项目,其中几个对象需要彼此交互,而所有对象都在主要内部并排。
我目前的问题如下:我的Main类中有三个对象,我们称它们为Player
,Enemy
和BattleSystem
。
如果没有使用ref紧密耦合对象,我希望能够在Player
对象内部访问Enemy
和BattleSystem
对象中的函数,主要是访问吸气剂和一些功能,如DealDamage
等,我相信你明白了。
在这样的情况下,你会打算做什么?将Ref路由作为唯一的方法,还是有某种方法可以使对象可见项目范围或我可以创建的某种形式的邮件系统来在对象之间来回发送消息?
答案 0 :(得分:0)
游戏应该是异步还是同步?
如果它应该是异步的,您可以将Reactive Game Programming Architecture与Rx
(Reactive Extensions)
通常,您还可以使用Mediator
模式:Mediator
答案 1 :(得分:0)
您还可以使用发布/订阅事件/委托来建立三个独立类之间的通信,而无需在内部实际引用它们。
如果有一个发布者和多个订阅者,您还可以实现观察者模式。
感谢。