diff --git a/OpenRa.Game/Traits/World/ScreenShaker.cs b/OpenRa.Game/Traits/World/ScreenShaker.cs index 7ea8f3a72c..f5a5087a1c 100644 --- a/OpenRa.Game/Traits/World/ScreenShaker.cs +++ b/OpenRa.Game/Traits/World/ScreenShaker.cs @@ -9,7 +9,7 @@ namespace OpenRa.Traits { class ScreenShakerInfo : ITraitInfo { - public object Create( Actor self ) { return new ScreenShaker( self ); } + public object Create( Actor self ) { return new ScreenShaker(); } } public class ScreenShaker : ITick @@ -17,23 +17,11 @@ namespace OpenRa.Traits static int ticks = 0; static List> shakeEffects = new List>(); - public ScreenShaker (Actor self){} - public void Tick (Actor self) { - Game.viewport.Scroll(getScrollOffset()); - UpdateList(); - ticks++; - } - - void UpdateList() - { - var toRemove = new List>(); + Game.viewport.Scroll(getScrollOffset()); shakeEffects.RemoveAll(t => t.a == ticks); - - foreach(Tuple t in toRemove){ - shakeEffects.Remove(t); - } + ticks++; } public static void RegisterShakeEffect(int time, float2 position, int intensity)