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