Я уже сделал прототип игры на es6 и у меня возникла проблема.
Вкратце в игре есть всего один класс юнитов и множество экземпляров этого класса. И меня всё устраивало пока я не решил добавить для каждого юнита свои скины.
Каждый скин это не просто спрайт, а определённая комбинация спрайтов и прочего.
Изначально структура выглядела так
Игровой цикл:
unit1 = new Unit();
Класс юнит
class Unit() {
var blabla = blabla
head = new Skin('HEAD');
arrayOfBody = new array;
for (i = 0; i > 10; i++){
child = new Skin('BODY');
array.push(child);
}
}
То есть в классе Unit создаётся 1 экземпляр Skin с параметром HEAD
и далее создаётся определённое количество Skin с параметром BODY
А теперь проблема в том что классов типа Skin стало много и нужен общий метод создания экземпляров с параметров.
что-то типа
Игровой цикл:
unit1 = new Unit('Skin10');
Класс юнит
class Unit(Skin) {
this.Skin = Skin;
var blabla = blabla
head = new Skin(this.Skin,'HEAD');
arrayOfBody = new array;
for (i = 0; i > 10; i++){
child = new Skin(this.Skin, 'BODY');
array.push(child);
}
}
Какие паттерны обычно используются в данной ситуации?
PS Кстати классы Skin будут иметь только статические методы и переменные.