CollisionReleasePlatformSingle(DynamicShape player,
                                       Passenger passenger)
        {
            if (passenger.GetReleasePlatformChar() != '^' &&
                PlatformCollision.CollisionPlatform(player,
                                                    passenger.GetReleasePlatform()) &&
                GameRunning.GetLevelCounter() == passenger.SetOffLevel)
            {
                return(true);
            }

            return(false);
        }
        /// <summary>
        ///     Checks if the player is at the right platform
        /// </summary>
        /// <param name="player">player</param>
        /// <returns>bool checking if its the right platform</returns>
        public static bool CollisionReleasePlatform(DynamicShape player)
        {
            foreach (var passenger in PassengerCollision.GetPassengerPickups())
            {
                if (passenger.GetReleasePlatformChar() != '^' &&
                    PlatformCollision.CollisionPlatform(player,
                                                        passenger.GetReleasePlatform()) &&
                    GameRunning.GetLevelCounter() == passenger.SetOffLevel)
                {
                    return(true);
                }
            }

            return(false);
        }
        /// <summary>
        /// Checks which platform the player is supposed to be collided with.
        /// </summary>
        /// <param name="player">player</param>
        public static void CheckDropOffCollision(Player player)
        {
            foreach (var passenger in PassengerCollision.passengerPickups)
            {
                if (passenger.PickedUp && !passenger.DroppedOff &&
                    GameRunning.GetLevelCounter() == passenger.SetOffLevel &&
                    PlatformCollision.CollisionReleasePlatformSingle(player.GetsShape(), passenger)
                    )
                {
                    if (passenger.GetReleasePlatformChar() != '^')
                    {
                        passenger.SetPosition(
                            passenger.GetReleasePlatform()[0].Shape.Position.X,
                            passenger.GetReleasePlatform()[0].Shape.Position.Y + 0.04f);
                        passenger.GetShape().Direction.X = 0.0f;
                    }

                    passenger.DroppedOff = true;
                    passenger.SetReleasedWithinTimer(!passenger.ReleaseTimer());
                }
            }
        }