private bool isVisible(Bitmap bitmap, Vector2 startPosition, Vector2 endPosition, float rotation, float duration) { var spriteSize = new Vector2(bitmap.Width * Scale.X, bitmap.Height * Scale.Y); var originVector = OsbSprite.GetOriginVector(Origin, spriteSize.X, spriteSize.Y); for (var t = 0; t < duration; t += 200) { var position = Vector2.Lerp(startPosition, endPosition, t / duration); if (OsbSprite.InScreenBounds(position, spriteSize, rotation, originVector)) { return(true); } } return(false); }