ET 中学到的技巧

位运算,左移 再 求与

  • int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.Location;
  • long id = (long)(((ulong)localConn << 32) | remoteConn);
  • 就是把数左移一半二进制位,让数字到高位,再与另外一个数求与(合并)。好处是,一个数用来表示两个含义 比如long id = (long)(((ulong)localConn << 32) | remoteConn); 这个id 能表示 localConn 也能表示 remoteConn。对类型再分类int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.Location; 表示 CoroutineLockType.Location 类型中,再分一个小类型,

如何持有对象池(引用池)中的对象

  • 一般来说不能直接持有对象池的对象,因为你不知道对象池什么时候把对象给回收了。这里可以参考 ET 中 EntityRef EntityWeakRef 的设计。对象池回收之后,返回NULL值。

你可能感兴趣的:(ET,框架学习,unity,ET)