Exemplo n.º 1
0
    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);
    }