Catrobat.IDE.Core.Utilities.Helpers.ReferenceHelper.GetIfLogicElseBrickObject C# (CSharp) Method

GetIfLogicElseBrickObject() private static method

private static GetIfLogicElseBrickObject ( XmlIfLogicElseBrickReference ifLogicElseBrickReference, string reference ) : XmlObjectNode
ifLogicElseBrickReference Catrobat.IDE.Core.Xml.XmlObjects.Bricks.ControlFlow.XmlIfLogicElseBrickReference
reference string
return Catrobat.IDE.Core.Xml.XmlObjects.XmlObjectNode
        private static XmlObjectNode GetIfLogicElseBrickObject(XmlIfLogicElseBrickReference ifLogicElseBrickReference, string reference)
        {
            bool found = false;
            var ifLogicElseBricks = new List<XmlBrick>();

            var sprite = XmlParserTempProjectHelper.Sprite;

                var script = XmlParserTempProjectHelper.Script;

                    foreach (var brick in script.Bricks.Bricks)
                    {
                        if (brick is XmlIfLogicBeginBrick)
                        {
                            var ifLogicBeginBrick = brick as XmlIfLogicBeginBrick;
                            if (ifLogicBeginBrick.IfLogicElseBrickReference == ifLogicElseBrickReference)
                                found = true;
                        }
                        if (brick is XmlIfLogicEndBrick)
                        {
                            var ifLogicEndBrick = brick as XmlIfLogicEndBrick;
                            if (ifLogicEndBrick.IfLogicElseBrickReference == ifLogicElseBrickReference)
                                found = true;
                        }
                        if (brick is XmlIfLogicElseBrick)
                            ifLogicElseBricks.Add(brick);
                    }
                    if (found)
                    {
                        var count = 0;
                        if (reference.EndsWith("]"))
                        {
                            var splittetReference = reference.Split('[');
                            reference = reference.Split('[')[splittetReference.Count() - 1];
                            reference = reference.Split(']')[0];
                            count = Int32.Parse(reference) - 1;
                        }
                        return ifLogicElseBricks[count];
                    }
                
            return null;
        }