|
•Флаги юнитов - Artlav, 01.06.2010 10:28:36 |
|
|
С параметрами согласен, вместо isf(u.flags, flag) стоит использовать isf(u,attr) и isfdb(udb,attr), решая проблему расширяемости. Флаги тогда можно хранить в нескольких бит-масках или отдельными булями, может даже аттрибуты от комбинаций характеристик, например сейчас_строит+здание.
u.dbn однозначно определяет элемент базы юнитов, к которому относится данный экземпляр. С только-чтением не согласен, некоторые флаги меняются в процессе игры, например невыбираемость, так что отсутствие дублирования пары байт на юнит даёт только проблемы.
u.type.is_building и IsBuilding - месиво, от которого я пол-года назад избавился, и возвращаться не желаю.
С апгрейдами замороченно, думаю что как есть сейчас сойдёт. Ведь моделей есть две - базовая и текущая. Разница между ними хранится у игрока, базовая - в db+clan, конкретная - в каждом конкретном юните. Смысла добавлять конфигурации и массивы массивов не вижу. |
|
| |