Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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);
        }