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。