public Terrain3D(BinaryReader BR, int TileWidth, int TileHeight)
        {
            TerrainStyle = (TerrainStyles)BR.ReadByte();

            switch (TerrainStyle)
            {
            case TerrainStyles.Flat:
                break;

            default:
                FrontFace = new DrawableTile(BR, TileWidth, TileHeight);
                BackFace  = new DrawableTile(BR, TileWidth, TileHeight);
                LeftFace  = new DrawableTile(BR, TileWidth, TileHeight);
                RightFace = new DrawableTile(BR, TileWidth, TileHeight);
                break;
            }
        }
        public Terrain3D(Terrain3D Other)
        {
            TerrainStyle = Other.TerrainStyle;
            Transparancy = Other.Transparancy;

            switch (TerrainStyle)
            {
            case TerrainStyles.Flat:
                break;

            default:
                FrontFace = new DrawableTile(Other.FrontFace);
                BackFace  = new DrawableTile(Other.BackFace);
                LeftFace  = new DrawableTile(Other.LeftFace);
                RightFace = new DrawableTile(Other.RightFace);
                break;
            }
        }
 public Terrain3D()
 {
     TerrainStyle = TerrainStyles.Flat;
 }