47 lines
1.5 KiB
C#
Raw Normal View History

2015-05-29 15:46:44 -06:00
using System;
using Microsoft.Xna.Framework.Graphics;
using TrueCraft.Core.World;
using Microsoft.Xna.Framework;
namespace TrueCraft.Client.Rendering
{
2015-06-16 15:53:28 -04:00
/// <summary>
///
/// </summary>
2015-05-29 15:46:44 -06:00
public class ChunkMesh : Mesh
{
2015-06-16 15:53:28 -04:00
/// <summary>
///
/// </summary>
2015-05-29 15:46:44 -06:00
public ReadOnlyChunk Chunk { get; set; }
2015-06-16 15:53:28 -04:00
/// <summary>
///
/// </summary>
/// <param name="chunk"></param>
/// <param name="device"></param>
/// <param name="vertices"></param>
/// <param name="indices"></param>
public ChunkMesh(ReadOnlyChunk chunk, GraphicsDevice device, VertexPositionNormalTexture[] vertices, int[] indices)
: base(device, 1, true)
2015-05-29 15:46:44 -06:00
{
Chunk = chunk;
2015-06-16 15:53:28 -04:00
Vertices = vertices;
SetSubmesh(0, indices);
}
/// <summary>
///
/// </summary>
/// <param name="vertices"></param>
/// <returns></returns>
protected override BoundingBox RecalculateBounds(VertexPositionNormalTexture[] vertices)
{
return new BoundingBox(
new Vector3(Chunk.X * TrueCraft.Core.World.Chunk.Width, 0, Chunk.Z * TrueCraft.Core.World.Chunk.Depth),
new Vector3(Chunk.X * TrueCraft.Core.World.Chunk.Width
2015-05-29 15:46:44 -06:00
+ TrueCraft.Core.World.Chunk.Width, TrueCraft.Core.World.Chunk.Height,
2015-06-16 15:53:28 -04:00
Chunk.Z * TrueCraft.Core.World.Chunk.Depth + TrueCraft.Core.World.Chunk.Depth));
2015-05-29 15:46:44 -06:00
}
}
}