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

GetSpriteReferenceString() private static method

private static GetSpriteReferenceString ( XmlSpriteReference xmlSpriteReference ) : string
xmlSpriteReference Catrobat.IDE.Core.Xml.XmlObjects.XmlSpriteReference
return string
        private static string GetSpriteReferenceString(XmlSpriteReference xmlSpriteReference)
        {
            var sprite = xmlSpriteReference.Sprite;
            var count = 0;

            foreach (var tempSprite in XmlParserTempProjectHelper.Program.SpriteList.Sprites)
            {
                count++;
                if (tempSprite == sprite)
                    break;
            }

            foreach (var tempSprite in XmlParserTempProjectHelper.Program.SpriteList.Sprites)
                foreach (var script in tempSprite.Scripts.Scripts)
                    foreach (var brick in script.Bricks.Bricks)
                    {
                        if (brick is XmlPointToBrick)
                        {
                            var pointToBrick = brick as XmlPointToBrick;
                            if ((pointToBrick.PointedXmlSpriteReference == xmlSpriteReference) && (count == 1))
                                return "../../../../../../object";
                            else if (pointToBrick.PointedXmlSpriteReference == xmlSpriteReference)
                                return "../../../../../../object[" + count + "]";
                        }
                    }

            foreach (var entry in XmlParserTempProjectHelper.Program.VariableList.ObjectVariableList.ObjectVariableEntries)
            {
                if(( entry.XmlSpriteReference == xmlSpriteReference ) && (count == 1))
                    return "../../../../objectList/object";
                else if (entry.XmlSpriteReference == xmlSpriteReference)
                    return "../../../../objectList/object[" + count + "]";
            }

            return "";
        }