public List <TreeInfo> TreesAtPos(IntVector3 pos) { treelist.Clear(); int X = Mathf.FloorToInt(pos.x / RSubTerrConstant.ChunkSizeF); int Z = Mathf.FloorToInt(pos.z / RSubTerrConstant.ChunkSizeF); TreeInfo tmpTi; for (int x = X - 1; x <= X + 1; ++x) { for (int z = Z - 1; z <= Z + 1; ++z) { int idx = RSubTerrUtils.ChunkPosToIndex(x, z); int treeidx = RSubTerrUtils.TreeWorldPosToChunkIndex(pos.ToVector3(), idx); if (m_Chunks.ContainsKey(idx) && m_Chunks[idx].m_mapTrees.TryGetValue(treeidx, out tmpTi)) { TreeInfo.AddTiToList(treelist, tmpTi); } } } return(treelist); }