Позволяет организовать кэш часто используемых временных объектов. Некоторые объекты в сцене используются временно, например, при постройке дороги/труб/соединений/электрокабелей/стен/полов нужно временно показывать пользователю как будет выглядеть предпологаемая цельная конструкция из частей. При этом пользователь двигает мышью и ищет как лучше это построить в сцене. В это время создается много лишних моделей, которые не обязательно будут потом размещены в сцене. Но чтобы улучшить производительность создания объектов в сцене их можно кэшировать, и потом использовать заново, если они не были окончательно помещены в сцену. Это позволяет не создавать лишних объектов в сцене, а использовать их создание повторно.
Свойства
ItemCreate
Компонент GhostCache требует ссылки на компонент ItemCreate (как правило, ссылка перетягивается в редакторе Unity).
GameObject GhostCurrent
Уровень, как правило дочерний элемент World, в сцене в котором храняться объекты, временно показываемые пользователю.
List<Item> Cache
Список всех объектов, хрянящихся в кэше
bool CreateMode
Режим создания, если =true, то не зависимо от наличия в кэше, будет заново создавать объекты.
Методы
Add
Add(string argModelName, ModelTypes argModelType)
Добавляет в кэш модели соответствующего вида (argModelName + argModelType).
TakeFromCache
Item TakeFromCache(string argModelName, ModelTypes argModelType, Vector3 argPosition)
Взять похожий (argModelName + argModelType) объект из кэша и поместить в нужную позицию (argPosition) на сцене. Если не будет найдет в кэше, будет создан заново.
ReturnToCache
ReturnToCache(Item argItem)
Вернуть объект назад в кэш, если он не понадобился для постоянного создания в сцене.