使用网格绘图工具(如绘画、擦除、拾取、选择和填充)在网格上创作数据的基类。
通过继承该类和/或从继承的类创建画笔资源实例,您可以创建自定义画笔,以响应高级网格事件,如绘画、擦除、拾取、选择和填充。
using UnityEngine;
// Paints two Prefabs in checkerboard pattern [CreateAssetMenu] public class CheckerboardBrush : GridBrushBase { public GameObject prefabA; public GameObject prefabB;
public override void Paint(GridLayout grid, GameObject brushTarget, Vector3Int position) { bool evenCell = Mathf.Abs(position.y + position.x) % 2 > 0; GameObject toBeInstantiated = evenCell ? prefabA : prefabB;
if (toBeInstantiated != null) { GameObject newInstance = Instantiate(toBeInstantiated, grid.CellToWorld(position), Quaternion.identity); newInstance.transform.SetParent(brushTarget.transform); } } }
| BoxErase | 擦除网格上给定边界内的数据。 | 
| BoxFill | 将瓦片和 GameObject 框填到所选图层的给定边界内。 | 
| ChangeZPosition | 更改 GridBrushBase 的 Z 位置。 | 
| Erase | 擦除网格上给定边界内的数据。 | 
| Flip | 翻转给定 FlipAxis 中的网格画笔。 | 
| FloodFill | 给定单元格的起始坐标,将数据灌填到网格中。 | 
| Move | 当用户移动之前使用选取框选择的区域时,将调用 Move。 | 
| MoveEnd | 当用户已结束对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。 | 
| MoveStart | 当用户开始对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。 | 
| Paint | 将数据绘制到网格上的给定边界内。 | 
| Pick | 给定单元格坐标,从网格中选取数据。 | 
| ResetZPosition | 重置 GridBrushBase 的 Z 位置更改。 | 
| Rotate | 按照给定的 RotationDirection 旋转网格画笔上的所有瓦片。 | 
| Select | 选择网格区域。 | 
| GetInstanceID | Gets the instance ID of the object. | 
| ToString | 返回对象的名称。 | 
| Destroy | 移除 GameObject、组件或资源。 | 
| DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 | 
| DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 | 
| FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 | 
| FindObjectsOfType | Gets a list of all loaded objects of Type type. | 
| Instantiate | 克隆 original 对象并返回克隆对象。 | 
| CreateInstance | 创建脚本化对象的实例。 | 
| bool | 该对象是否存在? | 
| operator != | 比较两个对象是否引用不同的对象。 | 
| operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |