Ну есть идея аттачить как либо к юниту все эти триггеры и при диспеле экзекутить их, в кадом триггере есть функция утилизации и обнуления эффекта.
Основная идея я как понимаю, по хэндлу юнита получить все навешанные на него триггеры? Можно использовать unit indexer и работать с массивами. Можно также использовать хэштаблицы с обёрткой и также работать как с массивами.
Ерунда все это и наверняка фиксится в пару строк тут да там.
Одна строка там, одна строка здесь и в итоге всё превратится в кашу, в которой чёрт ногу сломит. И если человек наследует эту кашу, то что-бы в ней разобраться, могут пройти годы (судя по вопросам в техподдержке они ещё идут). А у разрабов, как нистранно ещё есть личная жизнь и основная работа.
Да работа с динамическими триггерами, но условия события и действия добавлять им ненужно, нужно сделать их экзекут (всех) по нужному событию, или невсех в зависимости от параметра, на одном юните может висеть сразу несколько триггеров, а их нужно экзекутнуть.
Тут уже налицо проблема архитектуры. Если нужно совершить действие над группой юнитов - берём группу и совершаем действие. Если нужно добавить юниту прослушивание события, то добавляем прослушивание события...
ИМХО, динамические триггеры это злейшее зло, от которого нужно избавляться. Ибо в идеальной вселенной существуют только события/условия/действия, а вы ещё плодите ненужную сущность в виде триггеров, на которую у движка есть ещё и лимит.
Всё зависисит от структуры баз данных. Если баг появляется в очень редких случаях, то можно его игнорировать, тем самым отсеивая тех пользователей, которым лень о нём сообщить. Но мы пойдём другим путём.
Как я понял у любого ресурса есть своя shadow копия, тоесть версия изменённая автором но ещё не подтверждённая модератором. Этот момент можно реализовать несколькими способами:
Завести паралельную тапблицу с отношением один к одному и при подтверждении просто перезаписывать основную запись удаляя при этом копию.
Завести паралельную таблицу с отношением один ко многим и вести лог изменений, но зачем?
Добавить поле в основной таблице и различать статьи по нему.
Незнаю как это реализовано, но решение вижу в лоб, просто добавить модераторам кнопку, которая позволит заново пересчитать подстатьи.
» Dragon May Cry / Меч vs Топор
» Dragon May Cry / Меч vs Топор
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Ред. nazarpunk
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Ред. nazarpunk
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
8gabriel8:
Bergi_Bear:
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
8gabriel8:
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Работа на конкурс
Версия Warcraft: 1.26a
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Как делать проверку на...
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Team / XGM — Премия 2018 года
» XGM Team / XGM — Премия 2018 года
» WarCraft 3 / Построение фигур
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Аттач группы триггеров
» WarCraft 3 / Аттач группы триггеров
Ред. nazarpunk
» Администрация XGM / Дублирование статей
» Администрация XGM / Дублирование статей
Ред. nazarpunk
» WarCraft 3 / Аттач группы триггеров
» Администрация XGM / Дублирование статей
» Администрация XGM / Дублирование статей
» WarCraft 3 / Аттач группы триггеров