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

UpdateIfLogicBeginBrickReference() private static method

private static UpdateIfLogicBeginBrickReference ( XmlSprite oldSprite, XmlSprite newSprite, int scriptCount, int brickCount ) : void
oldSprite Catrobat.IDE.Core.Xml.XmlObjects.XmlSprite
newSprite Catrobat.IDE.Core.Xml.XmlObjects.XmlSprite
scriptCount int
brickCount int
return void
        private static void UpdateIfLogicBeginBrickReference(XmlSprite oldSprite, XmlSprite newSprite, int scriptCount, int brickCount)
        {
            XmlIfLogicBeginBrickReference oldIfLogicBeginBrickReference;
            XmlIfLogicBeginBrickReference newIfLogicBeginBrickReference;

            var oldBrick = oldSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount];
            if (oldBrick is XmlIfLogicElseBrick)
            {
                oldIfLogicBeginBrickReference = (oldBrick as XmlIfLogicElseBrick).IfLogicBeginBrickReference;
                newIfLogicBeginBrickReference =
                    (newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount] as XmlIfLogicElseBrick)
                        .IfLogicBeginBrickReference;
            }
            else
            {
                oldIfLogicBeginBrickReference = (oldBrick as XmlIfLogicEndBrick).IfLogicBeginBrickReference;
                newIfLogicBeginBrickReference =
                    (newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount] as XmlIfLogicEndBrick)
                        .IfLogicBeginBrickReference;
            }

            var count = 0;
            foreach (var brick in oldSprite.Scripts.Scripts[scriptCount].Bricks.Bricks)
            {
                if (brick == oldIfLogicBeginBrickReference.IfLogicBeginBrick)
                {
                    newIfLogicBeginBrickReference.IfLogicBeginBrick = newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[count] as XmlIfLogicBeginBrick;
                    return;
                }
                count++;
            }
        }