Scene.BlockHolder Class

Description

持有Block的组件,在场景中持有并管理Block。

一般需要在编辑器中或运行时的脚本中设置 Scene.BlockHolder.BlockRoot ,它通常由Mega Studio在编辑模式下生成。如果运行时定位到了一个未知的block, Scene.BlockHolder 会自动生成一个 Scene.BlockController 并添加到 Scene.BlockHolder.BlockRoot 下面,这时如果 Scene.BlockHolder.BlockRoot 不存在它会自动创建。


Enums

public enum Scene.BlockHolder.MultiBlockStrategy

定位到多个Block时的策略。

public enum Scene.BlockHolder.BlockRootSourceType

Block root的来源。


MonoBehaviour Messages

private void Awake()

private void Start()

private void OnDestroy()


Fields

MultiBlock

C#

public Scene.BlockHolder.MultiBlockStrategy MultiBlock

定位到多个Block时的策略。需要在 MonoBehaviour .Start前设置。

BlockRootSource

C#

public Scene.BlockHolder.BlockRootSourceType BlockRootSource

Block root的来源。


Properties

BlockRoot

C#

public Scene.BlockRootController BlockRoot { get; set; }

所有Mega block的父节点。它通常由Mega工具生成。如果设置,一个新的root节点会在第一个block被持有的时候自动生成。

Blocks

C#

public List< Scene.BlockController > Blocks { get; }

所有被持有的Mega block。


Methods

Hold

C#

public Scene.BlockController Hold( Scene.BlockController.BlockInfo info, Scene.Location location)

持有一个block。Block local transform 由location计算得到。

Hold

C#

public Scene.BlockController Hold( Scene.BlockController.BlockInfo info, Scene.LocalTransform transform)

持有一个block。Block local transform 由输入参数设置。

GetBlock

C#

public Scene.BlockController GetBlock(string id)

获取block。