-
OpcodeTypeComponent
OpcodeTypeComponent组件接入了Awake和Load两个事件,会在事件系统收集反射信息和该组件被创建时,执行Load方法。
该类中维护了一个字典Dictionary<ushort, object> typeMessages和一个DoubleMap<ushort, Type> opcodeTypes。字典中存储的是按照类别分的消息的类实例,这里的类型是按照特性进行了区分。typeMessages字典是客户端为了实现0GC所使用的对象池。
DoubleMap<K,V>是一个自定义的数据类型,应该也是为了减少GC而创建的。内部实现是维护了两个泛型字典。按照这个形
式来看,应该是用这两个字典互相转换。Add方法是分别将Key和Value按照正反顺序添加到两个字典中去。GetKeyByValue和GetValueByKey这两个方法就是分别从来个字典中获取相应的Value(就是分别获取了Key和