Beispiel #1
0
 private async Task Swing1()
 {
     var tasks = new Task[]
     {
         OuterGrid.AnimateAsync(new FlipEnjoyAnimation()),
         InnerGrid.AnimateAsync(new FlipEnjoyAnimation {
             Reverse = true
         }),
     };
     await Task.WhenAll(tasks);
 }
Beispiel #2
0
 private async Task Jump()
 {
     var tasks = new Task[]
     {
         OuterGrid.AnimateAsync(new JumpAnimation {
             Distance = -40
         }),
         InnerGrid.AnimateAsync(new JumpAnimation {
             Distance = -20
         }),
     };
     await Task.WhenAll(tasks);
 }
Beispiel #3
0
 private async Task Thinking1()
 {
     var tasks = new Task[]
     {
         OuterGrid.AnimateAsync(new FlipYAnimation {
             From = 0.0, To = 180, Duration = 0.4, Delay = 0.1
         }),
         InnerGrid.AnimateAsync(new FlipYAnimation {
             From = 0.0, To = 180, Duration = 0.5
         }),
     };
     await Task.WhenAll(tasks);
 }
Beispiel #4
0
 private async Task Exit1()
 {
     var tasks = new Task[]
     {
         OuterGrid.AnimateAsync(new BounceOutAnimation {
             ToDirection = ZDirection.Closer, Duration = 0.5
         }),
         InnerGrid.AnimateAsync(new BounceOutAnimation {
             ToDirection = ZDirection.Away, Duration = 0.5
         }),
     };
     await Task.WhenAll(tasks);
 }
Beispiel #5
0
 private async Task Rotation(bool forward, int repeatCount = -1)
 {
     bool forever = repeatCount < 0;
     var  tasks   = new Task[]
     {
         OuterGrid.AnimateAsync(new SlowRotateAnimation {
             Reverse = forward, Forever = forever, RepeatCount = repeatCount
         }),
         InnerGrid.AnimateAsync(new SlowRotateAnimation {
             Reverse = !forward, Forever = forever, RepeatCount = repeatCount
         }),
     };
     await Task.WhenAll(tasks);
 }
Beispiel #6
0
        private async Task Abashed1()
        {
            var tasks = new Task[]
            {
                OuterGrid.AnimateAsync(new FlipXAnimation {
                    From = 0.0, To = 240, Duration = 1
                }),
                InnerGrid.AnimateAsync(new FlipXAnimation {
                    From = 0.0, To = 120, Duration = 1
                }),
            };
            await Task.WhenAll(tasks);

            tasks = new Task[]
            {
                OuterGrid.AnimateAsync(new FlipXAnimation {
                    From = 240, To = 0, Duration = 0.3
                }),
                InnerGrid.AnimateAsync(new FlipXAnimation {
                    From = 120, To = 0, Duration = 0.3
                }),
            };
            await Task.WhenAll(tasks);
        }
Beispiel #7
0
        public async Task Do(BoxtanaAction boxtanaAction)
        {
            if (AnimationManager.IsAnimating(OuterGrid) ||
                AnimationManager.IsAnimating(InnerGrid))
            {
                AnimationManager.PauseAnimations(InnerGrid);
                AnimationManager.PauseAnimations(OuterGrid);
                var tasks = new Task[]
                {
                    OuterGrid.AnimateAsync(new SlowResetAnimation()),
                    InnerGrid.AnimateAsync(new SlowResetAnimation()),
                };
                await Task.WhenAll(tasks);

                AnimationManager.StopAnimations(InnerGrid);
                AnimationManager.StopAnimations(OuterGrid);
                AnimationManager.StopAnimations(Inner);
                AnimationManager.StopAnimations(Outer);
            }

            switch (boxtanaAction)
            {
            case BoxtanaAction.Entrance:
                await Entrance1();

                break;

            case BoxtanaAction.Exit:
                await Exit1();

                break;

            case BoxtanaAction.Abashed:
                await Abashed1();

                break;

            case BoxtanaAction.Thinking:
                await Thinking1();

                break;

            case BoxtanaAction.RandomWait:
                await RandomWait(3);

                break;

            case BoxtanaAction.Swing:
                await Swing1();

                break;

            case BoxtanaAction.RotateRight:
                await Rotation(true);

                break;

            case BoxtanaAction.RotateLeft:
                await Rotation(false);

                break;

            case BoxtanaAction.Pulse:
                await Pulse();

                break;

            case BoxtanaAction.Color:
                await Color1();

                break;

            case BoxtanaAction.Jump:
                await Jump();

                break;
            }
        }