/// <summary> /// /// </summary> /// <param name="chunk"></param> /// <param name="device"></param> /// <param name="vertices"></param> /// <param name="indices"></param> public ChunkMesh(ReadOnlyChunk chunk, TrueCraftGame game, VertexPositionNormalColorTexture[] vertices, int[] indices) : base(game, 1, true) { Chunk = chunk; Vertices = vertices; SetSubmesh(0, indices); }
/// <summary> /// /// </summary> /// <param name="chunk"></param> /// <param name="device"></param> /// <param name="vertices"></param> /// <param name="opaqueIndices"></param> /// <param name="transparentIndices"></param> public ChunkMesh(ReadOnlyChunk chunk, TrueCraftGame game, VertexPositionNormalColorTexture[] vertices, int[] opaqueIndices, int[] transparentIndices) : base(game, 2, true) { Chunk = chunk; Vertices = vertices; SetSubmesh(0, opaqueIndices); SetSubmesh(1, transparentIndices); }
void UnloadChunk(ReadOnlyChunk chunk) { Game.Invoke(() => { ActiveMeshes.Remove(chunk.Coordinates); ChunkMeshes.RemoveAll(m => m.Chunk.Coordinates == chunk.Coordinates); }); }
private void Game_Client_ChunkLoaded(object sender, ChunkEventArgs e) { ChunkRenderer.Enqueue(e.Chunk); for (int i = 0; i < AdjacentCoordinates.Length; i++) { ReadOnlyChunk adjacent = Game.Client.World.GetChunk( AdjacentCoordinates[i] + e.Chunk.Coordinates); if (adjacent != null) { ChunkRenderer.Enqueue(adjacent); } } }
public ChunkRecievedEventArgs(Vector3 position, ReadOnlyChunk chunk) { Chunk = chunk; Position = position; }
public ChunkEventArgs(ReadOnlyChunk chunk) { Chunk = chunk; }
public ChunkData(ChunkPosition position, ReadOnlyChunk chunk) { Position = position; Chunk = chunk; }