Catrobat.IDE.Core.Xml.XmlObjects.Bricks.Sounds.XmlSpeakBrick.CreateXml C# (CSharp) 메소드

CreateXml() 개인적인 메소드

private CreateXml ( ) : System.Xml.Linq.XElement
리턴 System.Xml.Linq.XElement
        internal override XElement CreateXml()
        {
            var xRoot = new XElement(XmlConstants.Brick);
            xRoot.SetAttributeValue(XmlConstants.Type, XmlConstants.XmlSpeakBrickType);

            if ((FText == null) && (Text != null))
            {
                //necessary as there is right now no gui support for formaulas in this brick
                FText = new XmlFormula
                {
                    FormulaTree = new XmlFormulaTree
                    {
                        VariableType = "STRING",
                        VariableValue = Text
                    }
                };
            }

            //TODO: only for tests needed as long as upper "necessary as there is right now no gui support for formaulas in this brick" isn't fixed
            if ((FText != null) && (Text == null))
                Text = FText.FormulaTree.VariableValue;

            if ((FText != null) && (Text != null))
            {
                var xElement = FText.CreateXml();
                xElement.SetAttributeValue(XmlConstants.Category, XmlConstants.Speak);

                var xFormulalist = new XElement(XmlConstants.FormulaList);
                xFormulalist.Add(xElement);

                xRoot.Add(xFormulalist);
            }

            return xRoot;
        }
    }