Реализую интерфейс в редакторе уровней, есть поле с закладками.
Сделал так, есть
базовый класс закладок и каждая новая закладка – это один класс унаследованный от базового и принимающий спрайт (с помощью композиции) для отображения содержимого вкладки.
Все вроде ок, заполняем каждую вкладку спрайтом с контентом, там расшариваем вложенные клипы, поля, счетчики и работаем с ними.
Но получилось так, что есть ряд игровых объектов, которые надо расположить на уровне перетаскиванием и они разделены по разделам, напр. “динамические”, “статичные”, “люди”, “бэкграунды” и пр. и каждый такой раздел с объектами отображается в отдельной вкладке, но инструментом для отображения я использую
единственный экземпляр компонента
TileList с ячейками, просто при переходе в каждый раздел я очищаю и заполняю ячейки новыми объектами из соотв. раздела.
Но есть проблема, чтобы один
единственный экземпляр объекта TileList, находился во всех закладках, я его добавил в базовый класс, как статичный.

Код AS3:
public class BaseTab
{
// ссылка на единственный экземпляр во всех наследуемых классах
static var tileList: TileList;
public static var curPart:int;
public var visual:DisplayObjectContainer;
public function BaseTab( part:int, icon:DisplayObjectContainer, container:DisplayObjectContainer, regObj:RegisterObjects, visual:DisplayObjectContainer = null )
{
//…
}
//…
}
При создании очередной закладки, мне приходится проверять, был ли создан
единственный TileList и был ли добавлен в список отображения, если нет, то создать/добавить напр.:

Код AS3:
public class TileItemTab extends BaseTab
{
public function TileListTab( part:int, icon:DisplayObjectContainer, container:DisplayObjectContainer,
regObj:RegisterObjects)
{
super( part, icon, container, regObj, null );
//проверка экземпляра TileList на создание и добавление
//в список отображения в наследуемом классе закладки
if (!tileList)
{
tileList = new tileList ();
//tileList.update(EnumPart.DYNAMIC);
container.addChild(tileList);
tileList.x = Utils.center(container.width, tileList.width);
tileList.y = 90;
}
//….
}
}
Вся эта ситуация со статическим экземпялром
TileList и проверками в каждом наследуемом классе на создание/добавление в список отображения мне не нравится, организовано плохо, посоветуйте варианты, как можно более правильно реализовать, чтобы
с одним единственным объектом
TileList можно было работать в наследуемых классах закладок.