Class BlockHolder
Компонент, удерживающий блок. Содержит и управляет блоком в сцене.
Обычно необходимо установить BlockRoot в редакторе или в скрипте во время выполнения. Обычно он генерируется Mega Studio в режиме редактирования. Если во время выполнения обнаруживается неизвестный блок, BlockHolder автоматически создаст BlockController и добавит его под BlockRoot. Если BlockRoot не существует, он будет создан автоматически.
[DisallowMultipleComponent]
public class BlockHolder : MonoBehaviour
- Наследование
-
BlockHolder
Поля
BlockRootSource
Источник корня блока (Block root).
public BlockHolder.BlockRootSourceType BlockRootSource
MultiBlock
Стратегия при обнаружении нескольких блоков. Необходимо установить до вызова MonoBehaviour.Start.
public BlockHolder.MultiBlockStrategy MultiBlock
blocks
protected readonly Dictionary<string, BlockController> blocks
Свойства
BlockRoot
Родительский узел для всех блоков Mega. Обычно генерируется инструментами Mega. Если не установлен, новый корневой узел будет автоматически создан при первом удержании блока.
public BlockRootController BlockRoot { get; set; }
Blocks
Все удерживаемые блоки Mega.
public List<BlockController> Blocks { get; }
Методы
GetBlock(string)
Получает блок.
public BlockController GetBlock(string id)
Параметры
id
Hold(BlockInfo, LocalTransform)
Удерживает блок. Локальное преобразование блока устанавливается входными параметрами.
public BlockController Hold(BlockController.BlockInfo info, LocalTransform transform)
Параметры
infotransform
Hold(BlockInfo, Location)
Удерживает блок. Локальное преобразование блока вычисляется на основе местоположения.
public BlockController Hold(BlockController.BlockInfo info, Location location)
Параметры
infolocation