//更新笔刷,用于picker中的所选元素发生改变的时候使用 public void UpdateBrush(MeshFilter aMeshFilter, MeshRenderer aMeshRenderer) { if (brush != null) { brush.UpdateBrush(aMeshFilter, aMeshRenderer); } }
void CreateBrush() { //获得由picker选中的笔刷对象 BasicBlock block = voxelMap.GetBlockBrush; if (block != null) { GameObject go = new GameObject("Brush"); go.transform.SetParent(voxelMap.transform); //笔刷中保存笔刷实例的引用 brush = go.AddComponent <BlockBrush> (); brush.m_meshFilter = go.AddComponent <MeshFilter> (); brush.m_meshRender = go.AddComponent <MeshRenderer> (); brush.m_tag = block.m_tag; //使用brush的方法对笔刷实例的组件进行修改 brush.m_brushSize = voxelMap.GetBlockSize(); brush.UpdateBrush(block.m_gameobject.GetComponentInChildren <MeshFilter> (), block.m_gameobject.GetComponentInChildren <MeshRenderer> ()); } }