Beispiel #1
0
        public virtual async void DeplacementProjectile(ProjectileUserControl projectile, MainWindow mw, Joueur joueurAdverse)
        {
            await AnimateProjectile(projectile, 4000, mw, joueurAdverse, projectile.TypeProjectile).ContinueWith(t => mw.Dispatcher.Invoke(() => mw.canvasJeu.Children.Remove(projectile)));

            PostureMageStatique(mw);
        }
Beispiel #2
0
 public virtual async Task AnimateProjectile(UIElement projectile, int milliseconds, MainWindow mw, Joueur joueurAdverse, ElemType typeProjectile)
 {
 }
        public override async Task AnimateProjectile(UIElement projectile, int milliseconds, MainWindow mw, Joueur joueurAdverse, ElemType elementProjectile)
        {
            TranslateTransform trs = new TranslateTransform();
            DoubleAnimation    anim;

            anim = new DoubleAnimation(0, -mw.canvasJeu.ActualWidth + 280, TimeSpan.FromMilliseconds(milliseconds));

            trs.BeginAnimation(TranslateTransform.XProperty, anim);
            projectile.RenderTransform = trs;
            await Task.Delay(milliseconds);

            if (mw.ElementsContrant[elementProjectile] != joueurAdverse.elementBouclierPret)
            {
                anim = new DoubleAnimation(-mw.canvasJeu.ActualWidth + 280, -mw.canvasJeu.ActualWidth + 230, TimeSpan.FromMilliseconds(400));
                trs.BeginAnimation(TranslateTransform.XProperty, anim);
                projectile.RenderTransform = trs;
                await Task.Delay(400);


                mw.MediaPlayerSons.Open(new Uri(@"../../Sons/JoueurTouche.mp3", UriKind.Relative));
                mw.MediaPlayerSons.Play();

                joueurAdverse.RafraichirVie(mw);
            }
        }