Unity 游戏框架搭建:MainManager 知识点小结

本文介绍了C#中的静态变量与成员变量的区别、枚举的应用场景及bool锁的使用方法。
到此呢,我们完成了 MainManager 的全部功能。在实现的过程中,我们应用了一次继承这个设计工具。并且还接触了 C# 中的枚举类型 (enum)。由于,MainManager 的实现逻辑有点多,所以呢,没有停下来仔细去讲这些新接触的概念。
那么今天趁着刚刚结束,我们强化一下所使用的知识点。

静态变量 vs 成员变量

首先第一个知识点是静态变量与成员变量,代码如下所示:
    
public EnvironmentMode Mode ; private static EnvironmentMode mSharedMode ; private static bool mModeSetted = false ;
静态变量与成员变量有什么区别呢? 从使用角度来说,如果要访问静态变量,我们需要通过类名去访问,而成员变量呢,则需要通过对象去访问。 从用途角度来说,静态变量更多地是对整个项目去做配置或者是记录等等,所以一般静态变量也叫做全局变量,而成员变量,则是记录对象本身的状态。 大体上了解到这个程度就够了。

枚举

第二个知识点是枚举
    
public enum EnvironmentMode { Developing , Test , Production }
枚举经常是用来表示状态的,比如当前的环境为开发环境,对应的枚举则为 Developing。当然,也可以用来做为消息名或者事件名等等,因为枚举的值是可以转成数值类型的,比如 int、short等等,这样它可以参与一些简单的数学计算,所以作为消息名来说是非常合适的。目前,我们的 MsgDispatcher 是用字符串做事件名的,而如果使用枚举做事件名,效率就会更高也更强大,当然在使用上也会更加复杂一点,在后续呢,我们也会实现一个支持枚举的消息机制的。目前我们只要知道,枚举如何用,以及比较适合做什么就够了。

bool 锁

第三个知识点,是一个 bool 锁,这个是笔者自己起的名字,我们经常要做一些只做一次这样的逻辑。 比如如下代码:
    
if ( ! mModeSetted ) { mSharedMode = Mode ; mModeSetted = true ; }
这段代码呢,是希望,项目运行之后,mShareMode 只能被赋值一次,那么有人会说,直接使用 readonly 关键字可不可以? 当然不可以,使用 readonly 在第二次赋值的时候会报编译错误的。
那么这三个是非常简单的知识点,根本说不上是设计工具。不过在项目中确是很实用的小套路。

其他

  • protect 访问权限
  • 通过设计结构去解决问题
今天的内容就这些,我们下一篇再见。
转载请注明地址:凉鞋的笔记: liangxiegame.com 订阅全套专栏: liangxiegame.com
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值