есть несколько десятков одинаковых сущностей с одинаковым скриптом, которые генерят циферки с помощью корутин. Общая сумма всех циферок сохраняется для каждой сущности.
Как лучше всего агрегировать сумму чисел от всех сущностей в другом объекте/скрипте, чтобы выводить общее число? Можете предложить, в какую сторону гуглить реализацию?
Сделать ScoreService и в него совсех объектов сливать все значения и сервис должен быть один. Каким образом ты будешь его доставлять до сущностей это уже на твое усмотрение. А UI будет подписан на этот сервис и при изменение значения обновляться.
События.
Это понятно, спасибо. У меня скорее вопрос про конкретную реализацию. Я чего-то ничего лучше, не могу придумать, чем… 1. Сделать у всех сущностей сумму public 2. Засунуть все сущности в List или другую коллекцию внутри другого класса (допустим ScoreService) 3. Внутри ScoreService запустить корутину, которая будет раз в 0.1 секунду смотреть на все элементы List, доставать из них public float для каждой сущности и складывать Это ок? Меня не покидает чувство, что так оверхэд будет большой и можно проще сделать. Но я не знаю, как.
События бы подходили, если бы я отправлял на каждое повторение корутины сущности сигнал, что она завершена, а потом бы в другом скрипте складывал это. Но у меня сущности могут разные числа в рамках одной корутины генерить и надо именно разные числа передавать в агрегатор. Т.е. мне лучше их сначала складывать внутри каждой сущности, а потом сумму уже отдавать.
Делаешь событие которые увеличивает счет. В сущностях складываешь числа и передаешь в событие эту сумму. Или я не понял чего то?
Обсуждают сегодня