public void Update()
{
if (this.newUpdateIds.Count > 0)
{
foreach (long id in this.newUpdateIds)
{
this.updateIds.Add(id);
}
///////////////////////////////////////////////////
this.updateIds.Sort();
///////////////////////////////////////////////////
this.newUpdateIds.Clear();
}
foreach (long id in this.updateIds)
{
LSEntity entity = lsEntities[id];
if (entity == null)
{
this.lsEntities.Remove(id);
continue;
}
this.newUpdateIds.Add(id);
LSEntitySystemSingleton.Instance.LSUpdate(entity);
}
this.updateIds.Clear();
ObjectHelper.Swap(ref this.updateIds, ref this.newUpdateIds);
}
上面的代码,为什么 this.updateIds.Sort();
如果不加会怎样。
我理解的话,帧同步的代码逻辑在不同机器上应该是保持一致的,在开发过程中,使用的容器一般也都是保证遍历顺序一致的。 所以我觉得这里可以不需要排序吧?