private static void UpdateIfLogicEndBrickReference(XmlSprite oldSprite, XmlSprite newSprite, int scriptCount, int brickCount)
{
XmlIfLogicEndBrickReference oldIfLogicBeginBrickReference;
XmlIfLogicEndBrickReference newIfLogicBeginBrickReference;
var oldBrick = oldSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount];
if (oldBrick is XmlIfLogicBeginBrick)
{
oldIfLogicBeginBrickReference = (oldBrick as XmlIfLogicBeginBrick).IfLogicEndBrickReference;
newIfLogicBeginBrickReference =
(newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount] as XmlIfLogicBeginBrick)
.IfLogicEndBrickReference;
}
else
{
oldIfLogicBeginBrickReference = (oldBrick as XmlIfLogicElseBrick).IfLogicEndBrickReference;
newIfLogicBeginBrickReference =
(newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[brickCount] as XmlIfLogicElseBrick)
.IfLogicEndBrickReference;
}
var count = 0;
foreach (var brick in oldSprite.Scripts.Scripts[scriptCount].Bricks.Bricks)
{
if (brick == oldIfLogicBeginBrickReference.IfLogicEndBrick)
{
newIfLogicBeginBrickReference.IfLogicEndBrick = newSprite.Scripts.Scripts[scriptCount].Bricks.Bricks[count] as XmlIfLogicEndBrick;
return;
}
count++;
}
}