public override void Run(Window window) { Rect square = window.GetInnerSquare(); Button button1 = new Button(window) { Text = "Effect", }; button1.Move(square.X, square.Y); button1.Resize(square.Width / 2, square.Height / 2); button1.Show(); Button button2 = new Button(window) { Text = "Chain Effect", }; button2.Move(square.X + square.Width / 2, square.Y + square.Height / 2); button2.Resize(square.Width / 2, square.Height / 2); button2.Show(); Point begin = new Point(); begin.X = begin.Y = 0; Point end = new Point(); end.X = end.Y = square.Height / 2; TranslationEffect translation = new TranslationEffect(begin, end); translation.EffectEnded += (s, e) => { Console.WriteLine("Translation Effect Ended"); }; RotationEffect rotation = new RotationEffect(0, 180); rotation.EffectEnded += (s, e) => { Console.WriteLine("Rotation Effect Ended"); }; button1.Clicked += (s, e) => { Transit transit1 = CreateTransit(); transit1.Objects.Add(button1); transit1.Objects.Add(button2); transit1.AddEffect(translation); transit1.AddEffect(rotation); transit1.Go(); }; button2.Clicked += (s, e) => { Transit transit1 = CreateTransit(); transit1.Objects.Add(button1); transit1.AddEffect(translation); transit1.AddEffect(rotation); Transit transit2 = CreateTransit(); transit2.Objects.Add(button2); transit2.AddEffect(translation); transit2.AddEffect(rotation); transit1.Chains.Add(transit2); transit1.Go(); }; }
public override void Run(Window window) { Button button1 = new Button(window) { Text = "Effect", }; button1.Move(0, 0); button1.Resize(270, 200); button1.Show(); Button button2 = new Button(window) { Text = "Chain Effect", }; button2.Move(270, 200); button2.Resize(270, 200); button2.Show(); Point begin = new Point(); begin.X = begin.Y = 0; Point end = new Point(); end.X = end.Y = 200; TranslationEffect translation = new TranslationEffect(begin, end); translation.EffectEnded += (s, e) => { Console.WriteLine("Translation Effect Ended"); }; RotationEffect rotation = new RotationEffect(0, 180); rotation.EffectEnded += (s, e) => { Console.WriteLine("Rotation Effect Ended"); }; button1.Clicked += (s, e) => { Transit transit1 = CreateTransit(); transit1.Objects.Add(button1); transit1.Objects.Add(button2); transit1.AddEffect(translation); transit1.AddEffect(rotation); transit1.Go(); }; button2.Clicked += (s, e) => { Transit transit1 = CreateTransit(); transit1.Objects.Add(button1); transit1.AddEffect(translation); transit1.AddEffect(rotation); Transit transit2 = CreateTransit(); transit2.Objects.Add(button2); transit2.AddEffect(translation); transit2.AddEffect(rotation); transit1.Chains.Add(transit2); transit1.Go(); }; }