Unity MVC模式

网上有各种MVC,我只说我用到的MVC。


如图所示,管理器持有数据实体,也就是数据模型了,他可以修改数据实体的数据,比如游戏管理器收到用户的输入,比如点击了Attack按钮,那就修改对应实体的IsAttack = true(Trigger),ViewObject是视图对象,他通过Unity的Update轮询自己对应的数据实体获取数据变化,继续上面例子,发现IsAttack = true;那就呈现对应特效或行为。注意视图不可以修改数据实体的数据,只负责呈现视图就可以了,而且就算其他管理器需要修改当前管理器持有的数据实体,也不能让他们持有数据实体,而应该通过当前管理器的API实现修改,不然你搞一下我搞一下很容易就乱的,出现一些蜜汁bug(当我还不知道设计模式这种东西的时候就深有体会)。而且尽量避免Unity的Update函数,如果是空的就删掉,比如一些不会动的东西如食物,他初始化后数据就不会发生变化了,所以可以用Init或者Create初始化一次不要用Update轮询。当然不想用Update函数而是希望统一管理来提高效率也可以画一条从Manager指向ViewObject的线,让Manager持有ViewObject,然后Manager来驱动所有ViewObject去Update。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值