Пример #1
0
        public UInt64 regionId(Vector3 pos)
        {
            Vector3 ret = new Vector3();

            ret.X = (float)Math.Floor(pos.X / WorldParameters.theWorldSize);
            ret.Y = 0;// (float)Math.Floor(pos.Y / WorldParameters.theWorldSize);
            ret.Z = (float)Math.Floor(pos.Z / WorldParameters.theWorldSize);

            return(ChunkKey.createKeyFromWorldLocation(ret));
        }
Пример #2
0
        public static Chunk chunkIntersecting(World world, Vector3 point)
        {
            UInt64 key   = ChunkKey.createKeyFromWorldLocation(point);
            Chunk  chunk = null;

            if (world.chunks.TryGetValue(key, out chunk) == true)
            {
                return(chunk);
            }

            return(null);
        }
Пример #3
0
        public Node findNode(Vector3 worldLocation)
        {
            UInt64 key = ChunkKey.createKeyFromWorldLocation(worldLocation);
            Chunk  chunk;

            if (myChunks.TryGetValue(key, out chunk) == false)
            {
                return(null);
            }

            return(chunk.findNodeContaining(worldLocation));
        }