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); }
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); } }