Показать сообщение отдельно
Старый 20.10.2018, 22:06
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 28  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Суть даты не только в инициализации начальных значений переменных, она шире, она описывает тип юнита. Каждый отдельный 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 урона
__________________
Дети не должны знать о своих родителях