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)); }
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); }
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)); }