void HandleCollision(Beat b, BarCollisionResult cr) { switch (cr) { case BarCollisionResult.RightSide: beatsToRemove.Add(b); break; case BarCollisionResult.WrongSide: beatsToRemove.Add(b); wrongbeats.Add(b); break; } }
public override void Update(GameTime gameTime) { foreach (var b in beatsRowID) { b.Key.Location += progressionDirection * speed * (float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000; BarCollisionResult collisionResult = bM.CheckCollision(b.Key, b.Value); HandleCollision(b.Key, collisionResult); b.Key.Update(gameTime); } if (beatsToRemove.Count > 0) { RemoveBeats(); beatsToRemove.Clear(); } base.Update(gameTime); }