Я пытаюсь учиться писать код грамотно, с учётом максимальной его производительности. Имеются несколько подобных свойств, с одной и той же логикой присваивания:
Синтаксис:
Используется csharp
private static float energy = 80f;
public static float Energy
{
get { return energy; }
set
{
energy = value;
CheckStatValue(ref energy);
}
}
public static float Energy
{
get { return energy; }
set
{
energy = value;
CheckStatValue(ref energy);
}
}
Так вот, задумка в том, чтобы безостановочно снижать их значения. Можно ли как-то, образно говоря, одной строчкой изменить значения нескольких свойств одного типа?
Или всё же придётся для каждого свойства писать что-то подобное?:
Синтаксис:
Используется csharp
Energy -= Time.deltaTime * defaultMultiplier;
Hunger -= Time.deltaTime * defaultMultiplier;
Cleanness -= Time.deltaTime * defaultMultiplier;
Hunger -= Time.deltaTime * defaultMultiplier;
Cleanness -= Time.deltaTime * defaultMultiplier;
Моими ещё неокрепшими глазами такое решение выглядит как-то неправильно. Передача свойства, как аргумент в метод, не даёт результатов из-за отсутствия возможности использовать ref. Использование поля вместо свойства тоже не подходит из-за необходимости осуществления логики при присваивании значения. Есть ли какие-либо подсказки с данной темой? Ибо ничего подобного я не нашёл на форумах.