Class BlockHolder
持有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)
參數
infotransform
Hold(BlockInfo, Location)
持有一個block。Block local transform 由location計算得到。
public BlockController Hold(BlockController.BlockInfo info, Location location)
參數
infolocation