Table of Contents

Class BlockHolder

命名空間
EasyAR.Mega.Scene
組件
EasyAR.Mega.Scene.dll

持有Block的元件,在場景中持有並管理Block。

一般需要在編輯器中或運行時的腳本中設定BlockRoot,它通常由Mega Studio在編輯模式下產生。如果運行時定位到了一個未知的block,BlockHolder會自動產生一個BlockController並加入到BlockRoot下面,這時如果BlockRoot不存在它會自動建立。

[DisallowMultipleComponent]
public class BlockHolder : MonoBehaviour
繼承
BlockHolder

欄位

BlockRootSource

Block root的來源。

public BlockHolder.BlockRootSourceType BlockRootSource

MultiBlock

定位到多個Block時的策略。需要在MonoBehaviour.Start前設定。

public BlockHolder.MultiBlockStrategy MultiBlock

blocks

protected readonly Dictionary<string, BlockController> blocks

屬性

BlockRoot

所有Mega block的父節點。它通常由Mega工具產生。如未設定,一個新的root節點會在第一個block被持有的時候自動產生。

public BlockRootController BlockRoot { get; set; }

Blocks

所有被持有的Mega block。

public List<BlockController> Blocks { get; }

方法

GetBlock(string)

取得block。

public BlockController GetBlock(string id)

參數

id

Hold(BlockInfo, LocalTransform)

持有一個block。Block local transform 由輸入參數設定。

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

參數

info
transform

Hold(BlockInfo, Location)

持有一個block。Block local transform 由location計算得到。

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

參數

info
location