public override int GetNorthTextureIndex(ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: if (topblock != 0) { return(0); } else { return(2); } case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } }
public override int GetBottomTextureRotation(ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: return 1; case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return 0; } }
public override int GetSouthTextureRotation(ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: return(1); case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(0); } }
public override int GetTextureRotation(Wall wall, ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); switch (wall) { case Wall.Top: case Wall.Bottom: case Wall.Back: case Wall.Front: switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: return(1); case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(0); } case Wall.Left: case Wall.Right: switch (orientation) { case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: return(1); case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(0); } default: return(base.GetTextureRotation(wall, manager, x, y, z)); //should never ever happen } }
public override int GetEastTextureIndex(ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: if (topblock != 0) return 0; else return 2; case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return 1; } }
public override int GetTextureIndex(Wall wall, ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); switch (wall) { case Wall.Top: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: return(1); case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: if (topblock != 0) { return(0); } else { return(2); } } } case Wall.Bottom: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: return(1); case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: if (topblock != 0) { return(0); } else { return(2); } } } case Wall.Front: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: if (topblock != 0) { return(0); } else { return(2); } case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } case Wall.Back: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: if (topblock != 0) { return(0); } else { return(2); } case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } case Wall.Left: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: if (topblock != 0) { return(0); } else { return(2); } case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } case Wall.Right: { ushort topblock = manager.GetBlock(x, y, z + 1); switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: if (topblock != 0) { return(0); } else { return(2); } case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } } // Should never happen // Assert here return(-1); }
public override int GetTextureIndex(Wall wall, ILocalChunkCache manager, int x, int y, int z) { OrientationFlags orientation = (OrientationFlags)manager.GetBlockMeta(x, y, z); switch (wall) { case Wall.Top: case Wall.Bottom: { switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: return(1); case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(0); } } case Wall.Back: // North case Wall.Front: // South { switch (orientation) { case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: return(0); case OrientationFlags.SideWest: case OrientationFlags.SideEast: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } case Wall.Left: case Wall.Right: { switch (orientation) { case OrientationFlags.SideWest: case OrientationFlags.SideEast: return(0); case OrientationFlags.SideSouth: case OrientationFlags.SideNorth: case OrientationFlags.SideBottom: case OrientationFlags.SideTop: default: return(1); } } } // Assert this return(-1); }