private void NextOperation()
{
currentOperation++;
// Focus the operation at index 1
if (currentOperation == 1)
{
opAnimations[1].Play(operations[0]);
opAnimations[2].Play(operations[1]);
opAnimations[3].Play(operations[2]);
operations[3].Visible = true;
operations[3].Position = new Vector2(0, 589);
}
// Focus the operation at index currentOperation
else if (currentOperation > 1 && currentOperation < operations.Length - 2)
{
opAnimations[0].Play(operations[currentOperation - 2]);
opAnimations[1].Play(operations[currentOperation - 1]);
opAnimations[2].Play(operations[currentOperation]);
opAnimations[3].Play(operations[currentOperation + 1]);
//animations[3].EndEvent += new Animation.AnimationHandler(MatePlusAddAndSubScreen_EndEvent);
operations[currentOperation + 2].Visible = true;
operations[currentOperation + 2].Position = new Vector2(0, 589);
}
// Focus the operation just before the last one
else if (currentOperation == operations.Length - 2)
{
opAnimations[0].Play(operations[currentOperation - 2]);
opAnimations[1].Play(operations[currentOperation - 1]);
opAnimations[2].Play(operations[currentOperation]);
opAnimations[3].Play(operations[currentOperation + 1]);
//animations[3].EndEvent += new Animation.AnimationHandler(MatePlusAddAndSubScreen_EndEvent);
}
// Focus the last operation
else if (currentOperation == operations.Length - 1)
{
opAnimations[0].Play(operations[currentOperation - 2]);
opAnimations[1].Play(operations[currentOperation - 1]);
opAnimations[2].Play(operations[currentOperation]);
//animations[2].EndEvent += new Animation.AnimationHandler(MatePlusAddAndSubScreen_EndEvent);
}
// The end, no more operations
else
{
opAnimations[0].Play(operations[currentOperation - 2]);
opAnimations[1].Play(operations[currentOperation - 1]);
}
}