Одновременное изменение значений свойств одного типа

Программирование на Юнити.

Одновременное изменение значений свойств одного типа

Сообщение tiqai 01 ноя 2022, 20:13

Всем привет! Такой вопрос:

Я пытаюсь учиться писать код грамотно, с учётом максимальной его производительности. Имеются несколько подобных свойств, с одной и той же логикой присваивания:
Синтаксис:
Используется csharp
    private static float energy = 80f;
    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;
 


Моими ещё неокрепшими глазами такое решение выглядит как-то неправильно. Передача свойства, как аргумент в метод, не даёт результатов из-за отсутствия возможности использовать ref. Использование поля вместо свойства тоже не подходит из-за необходимости осуществления логики при присваивании значения. Есть ли какие-либо подсказки с данной темой? Ибо ничего подобного я не нашёл на форумах.
Аватара пользователя
tiqai
UNец
 
Сообщения: 9
Зарегистрирован: 18 авг 2022, 21:35

Re: Одновременное изменение значений свойств одного типа

Сообщение 1max1 01 ноя 2022, 20:30

То что ты пытаешься сделать попахивает извращением :D Сделай метод, добавь в него эти 3 строчки и вызывай, в чем проблема? Появится еще свойство, то просто допишешь его в метод.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Одновременное изменение значений свойств одного типа

Сообщение tiqai 01 ноя 2022, 20:42

1max1 писал(а):То что ты пытаешься сделать попахивает извращением :D Сделай метод, добавь в него эти 3 строчки и вызывай, в чем проблема? Появится еще свойство, то просто допишешь его в метод.


В погоне за тем, как выглядит "идеальный кодинг" в моей голове, порой я влезаю в решения хуже этого в несколько раз))
Благо есть те, кто подсказывают, стоит ли оно того или нет. За что Вам и спасибо)
Аватара пользователя
tiqai
UNец
 
Сообщения: 9
Зарегистрирован: 18 авг 2022, 21:35


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10