Я пытался перегрузить оператор умножения для удобства масштабирования двумерных спрайтов, но, похоже, один из операндов должен иметь содержащий тип.Это жаль, потому что я не считаю свое решение нелогичным.Кроме того, я обнаружил, что такие перегрузки операторов должны быть объявлены в объявлении класса одного из операндов.Итак, я должен создать свой собственный класс SuperRectangle или есть какие-то обходные пути?
public static Rectangle operator * (Rectangle rect, Vector2 scale)
{
return new Rectangle(rect.X, rect.Y, (int)(rect.Width * scale.X), (int)(rect.Height * scale.Y));
}