Пример #1
0
        /// <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;
 }
 public SandTextureTerrain(TerrainRenderable baseRenderable) : base()
 {
     Base = baseRenderable;
 }