Я создаю игру, в которой мне нужна верхняя ручка МНОГО звуковых эффектов.Я создал пул объектов , чтобы эффекты могли использовать их повторно.Моя проблема в том, как мне написать хорошее решение для пула, не создавая пул для каждого типа звука.Функция извлечения из пула возвращает первый звук в списке.
Это небольшое грязное решение проверяет, имеет ли элемент, который мы заимствуем из пула, тот же звук, который я хочу создать.Если это тот же звук, я больше не буду создавать звук.Если это не так, я создаю его, даже если знаю, что в пуле есть правильные звуки.
var item : ISoundItem = _soundPool.checkOut();
if(item.name != name)
item.create(name, _soundFactory.create(name), config);
Это грязное решение сократило мои экземпляры примерно до семи с сотен, но я думаю, что могу оптимизировать его еще больше.
Я думал передать имя звукафункция проверки, но стоит ли каждый раз проходить по бассейну?
Есть идеи?