/// <summary> /// Serialize into an XML element the IRenderable /// </summary> /// <param name="toSave">The renderable to save</param> /// <returns>An XML string (self-contained)</returns> public static XElement Serialize(IRenderable toSave) { if (toSave == null) { return(null); } else if (toSave is SandTextureTerrain) { TerrainRenderable tr = toSave as TerrainRenderable; XElement ts = new XElement("SandTerrainRenderable", new XElement("width", tr.Width), new XElement("depth", tr.Depth), new XElement("xSubdivisions", tr.XSubdivisions), new XElement("zSubdivisions", tr.ZSubdivisions)); return(ts); } else if (toSave is TerrainRenderable) { TerrainRenderable tr = toSave as TerrainRenderable; XElement ts = new XElement("TerrainRenderable", new XElement("width", tr.Width), new XElement("depth", tr.Depth), new XElement("xSubdivisions", tr.XSubdivisions), new XElement("zSubdivisions", tr.ZSubdivisions)); return(ts); } else if (toSave is MetalWoodTextureDecorator) { MetalWoodTextureDecorator tr = toSave as MetalWoodTextureDecorator; XElement ts = new XElement("MetalWoodTextureCrate"); return(ts); } else if (toSave is TestRenderable) { TestRenderable tr = toSave as TestRenderable; XElement ts = new XElement("TestRenderable"); return(ts); } else if (toSave is SharpRockDecorator) { SharpRockDecorator tr = toSave as SharpRockDecorator; XElement ts = new XElement("SharpRockRenderable"); return(ts); } else if (toSave is RockRenderable) { return(new XElement("RockRenderable")); } else if (toSave is BenchRenderable) { return(new XElement("BenchRenderable")); } else if (toSave is PalmTreeRenderable) { return(new XElement("PalmTreeRenderable")); } else if (toSave is TreeRenderable) { return(new XElement("TreeRenderable")); } else if (toSave is TableRenderable) { return(new XElement("TableRenderable")); } else { throw new InvalidOperationException("Cannot serialize - did not recognize renderable type"); } }
public SandTextureTerrain(TerrainRenderable baseRenderable) : base() { Base = baseRenderable; }