From 85bbe6314db50227505f5e26d57911f465402212 Mon Sep 17 00:00:00 2001 From: William Moorehouse Date: Sun, 21 Jun 2015 18:27:09 -0400 Subject: [PATCH] Added cobweb renderer --- .../Rendering/Blocks/CobwebRenderer.cs | 40 +++++++++++++++++++ TrueCraft.Client/TrueCraft.Client.csproj | 3 +- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 TrueCraft.Client/Rendering/Blocks/CobwebRenderer.cs diff --git a/TrueCraft.Client/Rendering/Blocks/CobwebRenderer.cs b/TrueCraft.Client/Rendering/Blocks/CobwebRenderer.cs new file mode 100644 index 0000000..da1a62a --- /dev/null +++ b/TrueCraft.Client/Rendering/Blocks/CobwebRenderer.cs @@ -0,0 +1,40 @@ +using System; +using TrueCraft.Core.Logic.Blocks; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using TrueCraft.API.Logic; + +namespace TrueCraft.Client.Rendering.Blocks +{ + public class CobwebRenderer : FlatQuadRenderer + { + static CobwebRenderer() + { + BlockRenderer.RegisterRenderer(CobwebBlock.BlockID, new CobwebRenderer()); + } + + protected Vector2 CobwebTextureMap { get { return new Vector2(11, 0); } } + protected Vector2[] CobwebTexture; + + public CobwebRenderer() + { + CobwebTexture = new[] + { + CobwebTextureMap + Vector2.UnitX + Vector2.UnitY, + CobwebTextureMap + Vector2.UnitY, + CobwebTextureMap, + CobwebTextureMap + Vector2.UnitX, + }; + for (int i = 0; i < Texture.Length; i++) + { + CobwebTexture[i] *= new Vector2(16f / 256f); + } + } + + public override VertexPositionNormalColorTexture[] Render(BlockDescriptor descriptor, Vector3 offset, + Tuple textureMap, int indiciesOffset, out int[] indicies) + { + return RenderQuads(descriptor, offset, CobwebTexture, indiciesOffset, out indicies, Color.White); + } + } +} diff --git a/TrueCraft.Client/TrueCraft.Client.csproj b/TrueCraft.Client/TrueCraft.Client.csproj index 6c8e685..acf12a3 100644 --- a/TrueCraft.Client/TrueCraft.Client.csproj +++ b/TrueCraft.Client/TrueCraft.Client.csproj @@ -67,6 +67,7 @@ + @@ -178,4 +179,4 @@ PreserveNewest - + \ No newline at end of file