Zonnery | Дата: Суббота, 10 Января 2015, 16:31:34 | Сообщение # 1 |
3 уровень
Группа: Проверенные
Сообщений: 42
Награды: 0
Репутация: 95
Блокировки: ![](/scripts/images/ic_info.gif)
| При реализации систем движения, которые взаимодействуют с юнитами, неизбежно приходится сталкиваться с такой необходимостью, как ForGroup. С помощью ForGroupмы каждый период системы проверяем расстояние до каждого юнита рядом, сравниваем, что не может серьёзно сказаться на производительности системы в целом. Больше такого делать не придётся.
Представляю систему, где коллизия основана на event! Производительность такой системы выше на порядок. С периодичностью 0.05 без лагов система одновременно спокойно держит до 500 снарядов(и это на моём калькуляторе).
Отдельно упомяну о Systemizer. Это написанная мной система, предназначенная для упорядочивания всех систем, требующих периодичного выполнения. Реализована с помощью структуры Systemizerи интерфейса ISystemizer. Как его использовать? Достаточно просто. 1.Вы пишите скилл/систему в структуре. 2.С помощью extends наследуете интерфейс ISystemizer 3.Добавляете наследуемые функцииUpdate, Init, Equals, Destroy etc. 4. PROFIT
Система за вас организует хранение ваших структур, каждый период системы будет выполнять содержимое ваших переопределенных функций Update. При вызове Destroy сама подчистит за собой данные и организует их, согласно переопределенной ф-ции Destroy. Звучит сложно, но в чём преимущество? Больше не нужно писать для каждой системы свой таймер и хранить массив из структур в каждой системе отдельно. Теперь это всё можно обработать одним таймером и в рамках одного интерфейса.
Ссылка для скачивания.
Мир, как зеркало, отражает ваше отношение к нему. Когда боретесь с миром, он борется с вами. Когда прекращаете свою битву, мир идет навстречу.(В.Зеланд) vk.com/zonnery
Сообщение отредактировал Zonnery - Суббота, 10 Января 2015, 16:46:26 |
|
|
|