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

UpdateIfLogicElseBrickReference() private static method

private static UpdateIfLogicElseBrickReference ( 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 UpdateIfLogicElseBrickReference(XmlSprite oldSprite, XmlSprite newSprite, int scriptCount, int brickCount)
        {
            XmlIfLogicElseBrickReference oldIfLogicBeginBrickReference;
            XmlIfLogicElseBrickReference newIfLogicBeginBrickReference;

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

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