如何查找对象指定距离内的所有对象?

时间:2018-11-06 23:55:37

标签: c#

因此,我得到了一个名为Entity的抽象类,该类包含一个Vector3,它用作对象的位置,如何在不需要每次遍历列表中的每个对象的情况下如何获取位置相似的所有对象的列表?所以?我认为这可能涉及字典,但浮点数会使它更加复杂。

执行速度缓慢的方法:

List<Entity> GetAllEntitiesWithinRange (float distance)
{
   List<Entity> entitiesInRange = new list<Entity> ();
   for (int i = 0; i < world.entities)
   {
      if (Vector3.Distance (this.position, entities[i].position) < distance)
      {
         entitiesInRange.Add (entities[i]);
      }
   }
   return entitiesInRange;
}

0 个答案:

没有答案