[Unity] — вопрос по логике сравнения наборов характеристик персонажей
У меня задан класс BaseStats, в котором есть 4 int'а, собственно, хранящие характеристики персонажа. Я решил перегрузить оператор ">", чтобы проще было сравнивать характеристики персонажа и требования снаряжения к характеристикам, что тоже задаётся тем же классом. И тут всё, вроде бы, однозначно, если все статы персонажа больше всех требуемых стат, то статы персонажа больше, всё ок, однако эта перегрузка требует ещё и перегрузку оператора "<" с чем и происходит заминка.
С одной стороны, "<" должна быть обратной (знаю, что "<=", суть не в этом), и тогда получается клауза должна быть "если хотя бы одна из характеристик будет меньше, то и весь набор характеристик будет меньше", что в табличках выглядит вполне ок, но создаёт противоречие, что два набора стат могут быть одновременно меньше друг друга, например, так.
baseStats1: Сила=2, Ловкость=5.
baseStats2: Сила=5, Ловкость=2.
baseStats1 меньше baseStats2, т.к. сила в baseStats1 меньше.
baseStats2 меньше baseStats1, т.к. ловкость в baseStats2 меньше.
С другой стороны, если попробовать идти от противного и сделать так чтобы "<" звучала как "если все характеристики будут меньше, то весь набор будет меньше", создаёт какое-то огромнейшее поле в 14 вариантов, которое звучит как "и не то, и не это".
Какой из двух вариантов стоит взять, или мне вообще стоит отказаться от перегрузки операторов и сделать всё через методы класса?