Catrobat.IDE.Core.Xml.XmlObjects.Bricks.XmlBrickList.LoadFromXml C# (CSharp) Method

LoadFromXml() private method

private LoadFromXml ( System.Xml.Linq.XElement xRoot ) : void
xRoot System.Xml.Linq.XElement
return void
        internal override void LoadFromXml(XElement xRoot)
        {
            foreach (XElement element in xRoot.Elements())
            {
                switch(element.Attribute(XmlConstants.Type).Value.ToString())
                {
                    case XmlConstants.XmlBroadcastBrickType:
                        Bricks.Add(new XmlBroadcastBrick());
                        break;

                    case XmlConstants.XmlBroadcastWaitBrickType:
                        Bricks.Add(new XmlBroadcastWaitBrick());
                        break;

                    case XmlConstants.XmlChangeBrightnessBrickType:
                        Bricks.Add(new XmlChangeBrightnessBrick());
                        break;

                    case XmlConstants.XmlChangeGhostEffectBrickType:
                        Bricks.Add(new XmlChangeGhostEffectBrick());
                        break;

                    case XmlConstants.XmlChangeSizeByNBrickType:
                        Bricks.Add(new XmlChangeSizeByNBrick());
                        break;

                    case XmlConstants.XmlChangeVariableBrickType:
                        Bricks.Add(new XmlChangeVariableBrick());
                        break;

                    case XmlConstants.XmlChangeVolumeByBricksType:
                        Bricks.Add(new XmlChangeVolumeByBrick());
                        break;

                    case XmlConstants.XmlChangeXByBrickType:
                        Bricks.Add(new XmlChangeXByBrick());
                        break;

                    case XmlConstants.XmlChangeYByBrickType:
                        Bricks.Add(new XmlChangeYByBrick());
                        break;

                    case XmlConstants.XmlClearGraphicEffectBrickType:
                        Bricks.Add(new XmlClearGraphicEffectBrick());
                        break;

                    case XmlConstants.XmlComeToFrontBrickType:
                        Bricks.Add(new XmlComeToFrontBrick());
                        break;

                    case XmlConstants.XmlForeverBrickType://"foreverBrick":
                        Bricks.Add(new XmlForeverBrick());
                        break;

                    case XmlConstants.XmlLoopEndlessBrickType://"loopEndlessBrick":
                        Bricks.Add(new XmlForeverLoopEndBrick());
                        break;

                    case XmlConstants.XmlGlideToBrickType://"glideToBrick":
                        Bricks.Add(new XmlGlideToBrick());
                        break;

                    case XmlConstants.XmlGoNStepsBackBrickType://"goNStepsBackBrick":
                        Bricks.Add(new XmlGoNStepsBackBrick());
                        break;

                    case XmlConstants.XmlHideBrickType://"hideBrick":
                        Bricks.Add(new XmlHideBrick());
                        break;

                    case XmlConstants.XmlIfLogicBeginBrick:
                        Bricks.Add(new XmlIfLogicBeginBrick());
                        break;

                    case XmlConstants.XmlIfLogicElseBrick:
                        Bricks.Add(new XmlIfLogicElseBrick());
                        break;

                    case XmlConstants.XmlIfLogicEndBrick:
                        Bricks.Add(new XmlIfLogicEndBrick());
                        break;

                    case XmlConstants.XmlIfOnEdgeBounceBrickType:
                        Bricks.Add(new XmlIfOnEdgeBounceBrick());
                        break;

                    case "legoNxtMotorActionBrick":
                        Bricks.Add(new XmlNxtMotorActionBrick());
                        break;

                    case "legoNxtMotorStopBrick":
                        Bricks.Add(new XmlNxtMotorStopBrick());
                        break;

                    case "legoNxtMotorTurnAngleBrick":
                        Bricks.Add(new XmlNxtMotorTurnAngleBrick());
                        break;

                    case "legoNxtPlayToneBrick":
                        Bricks.Add(new XmlNxtPlayToneBrick());
                        break;

                    case XmlConstants.XmlMoveNStepsBrickType:
                        Bricks.Add(new XmlMoveNStepsBrick());
                        break;

                    case XmlConstants.XmlNextLookBrickType:
                        Bricks.Add(new XmlNextLookBrick());
                        break;

                    case XmlConstants.XmlNoteBrickType:
                        Bricks.Add(new XmlNoteBrick());
                        break;

                    case XmlConstants.XmlPlaceAtBrickType:
                        Bricks.Add(new XmlPlaceAtBrick());
                        break;

                    case XmlConstants.XmlPlaySoundBrickType:
                        Bricks.Add(new XmlPlaySoundBrick());
                        break;

                    case XmlConstants.XmlPointInDirectionBrickType:
                        Bricks.Add(new XmlPointInDirectionBrick());
                        break;

                    case XmlConstants.XmlPointToBrickType:
                        Bricks.Add(new XmlPointToBrick());
                        break;

                    case XmlConstants.XmlRepeatBrickType:
                        Bricks.Add(new XmlRepeatBrick());
                        break;

                    case XmlConstants.XmlRepeatLoopEndBrickType:
                        Bricks.Add(new XmlRepeatLoopEndBrick());
                        break;

                    case XmlConstants.XmlSetBrightnessBrickType:
                        Bricks.Add(new XmlSetBrightnessBrick());
                        break;

                    case XmlConstants.XmlSetLookBrickType:
                        Bricks.Add(new XmlSetLookBrick());
                        break;

                    case XmlConstants.XmlSetGhostEffectBrickType:
                        Bricks.Add(new XmlSetGhostEffectBrick());
                        break;

                    case XmlConstants.XmlSetSizeToBrickType:
                        Bricks.Add(new XmlSetSizeToBrick());
                        break;

                    case XmlConstants.XmlSetVariableBrickType:
                        Bricks.Add(new XmlSetVariableBrick());
                        break;

                    case XmlConstants.XmlSetVolumeToBrickType:
                        Bricks.Add(new XmlSetVolumeToBrick());
                        break;

                    case XmlConstants.XmlSetXBrickType:
                        Bricks.Add(new XmlSetXBrick());
                        break;

                    case XmlConstants.XmlSetYBrickType:
                        Bricks.Add(new XmlSetYBrick());
                        break;

                    case XmlConstants.XmlShowBrickType:
                        Bricks.Add(new XmlShowBrick());
                        break;

                    case XmlConstants.XmlSpeakBrickType:
                        Bricks.Add(new XmlSpeakBrick());
                        break;

                    case XmlConstants.XmlStopAllSoundsBrickType:
                        Bricks.Add(new XmlStopAllSoundsBrick());
                        break;

                    case XmlConstants.XmlTurnLeftBrickType:
                        Bricks.Add(new XmlTurnLeftBrick());
                        break;

                    case XmlConstants.XmlTurnRightBrickType:
                        Bricks.Add(new XmlTurnRightBrick());
                        break;

                    case XmlConstants.XmlWaitBrickType:
                        Bricks.Add(new XmlWaitBrick());
                        break;

                    default:
                        // Unknown brick
                        break;
                }
            }

            var enumerator = Bricks.GetEnumerator();
            foreach (XElement element in xRoot.Elements())
            {
                enumerator.MoveNext();
                enumerator.Current.LoadFromXml(element);
            }
        }