Слышал об этом (https://unity3d.com/ru/learn/tutorials/topics/scripting/introduction-ecs?playlist=17117).
Спасибо за ссылку, почитаю. Пока для меня это Rocket Science. Мне бы в своем болоте порядок навести :)
Можно заранее добавить все компоненты на персонажа. Включать компонент enabled = true. И сделать метод на компоненте, который запускает отсчет времени и эффект. Когда время выходит: отключать эффект, enabled = false.
Мне кажется это способ аналогичен вашему, так как каждый компонент будет иметь локальную переменную, отвечающую за время, с ограничением на то, что только необходимые компоненты будут включаться.
У меня была такая мысль. В этом случае в Update будут проверяться переменные статусов, которые могут ни разу не наступить за все время сцены. Это меня и пугает, что за время, проведенное на этой сцене, 8 из 13 эффектов могут не сработать, но в Update на 4х персонажах эти переменные все равно будут проверяться на ноль каждый фрейм.
То есть перед добавлением статуса проверять, есть ли уже такой компонент на персонаже и если есть, то добавлять время. А если нет, то добавлять компонент. И компонент сам будет управлять, сколько ему осталось жить.
Очень любопытно, спасибо за идею. Подумаю над этим.
Спасибо за комментарий. Статья не об иконках. Видимо начал неудачно. Иконки как раз зажигаются и гаснут по событию на персонаже.
Задача была именно в том, чтобы правильно отслеживать время, сколько эффект должен длиться на персонаже.
Спасибо за ссылку, почитаю. Пока для меня это Rocket Science. Мне бы в своем болоте порядок навести :)
Мне кажется это способ аналогичен вашему, так как каждый компонент будет иметь локальную переменную, отвечающую за время, с ограничением на то, что только необходимые компоненты будут включаться.
Очень любопытно, спасибо за идею. Подумаю над этим.
Задача была именно в том, чтобы правильно отслеживать время, сколько эффект должен длиться на персонаже.