Суть даты не только в инициализации начальных значений переменных, она шире, она описывает тип юнита. Каждый отдельный UnitData - это отдельный вид юнита. Каждый Unit - должен содержать ссылку (в ввиде unitID) на свой тип, к которому он принадлежит.
Самый простой пример:
Код AS3:
// Интерфейс класса World
// Создание юнита:
function unitCreate(id:uint):Unit {
var data:UnitData = _gameData.units.getElementByID(id);
var unit:Unit = new Unit(++_autoID);
unit.unitID = id;
unit.life = data.life;
_units.add(unit);
return unit;
}
// Нанесение урона юниту:
function unitDamage(id:uint, value:Number):void{
var unit:Unit = _units.getElementByID(id);
unit.life -= value;
}
Пользовательский класс:
Код AS3:
var unit:Unit = world.unitCreate(2); // Создали гоблина
world.unitDamage(unit.id, 40); // Нанесли ему 40 урона