Skip to content

Позволяет организовать кэш часто используемых временных объектов. Некоторые объекты в сцене используются временно, например, при постройке дороги/труб/соединений/электрокабелей/стен/полов нужно временно показывать пользователю как будет выглядеть предпологаемая цельная конструкция из частей. При этом пользователь двигает мышью и ищет как лучше это построить в сцене. В это время создается много лишних моделей, которые не обязательно будут потом размещены в сцене. Но чтобы улучшить производительность создания объектов в сцене их можно кэшировать, и потом использовать заново, если они не были окончательно помещены в сцену. Это позволяет не создавать лишних объектов в сцене, а использовать их создание повторно.

Свойства

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)

Вернуть объект назад в кэш, если он не понадобился для постоянного создания в сцене.