用于使用网格绘制工具(如绘制、擦除、拾取、选择和填充)创建网格上数据的基类。
继承此类和/或从继承的类创建笔刷资产实例,您可以创建对高层网格事件(如绘制、擦除、拾取、选择和填充)做出反应的自定义笔刷。
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 | 将瓦片和游戏对象填充到选定层内的给定边界内。 |
ChangeZPosition | 更改 GridBrushBase 的 Z 位置。 |
Erase | 擦除给定边界内的网格上的数据。 |
Flip | 根据给定的 FlipAxis 翻转网格笔刷。 |
FloodFill | 根据单元格的起始坐标将数据泛洪填充到网格上。 |
Move | 当用户移动之前使用选区框选择的区域时,会调用 Move。 |
MoveEnd | 当用户结束之前使用选区框选择的区域的移动时,会调用 MoveEnd。 |
MoveStart | 当用户开始移动之前使用选区框选择的区域时,会调用 MoveEnd。 |
Paint | 将数据绘制到给定边界内的网格中。 |
Pick | 根据单元格的坐标从网格中拾取数据。 |
ResetZPosition | 重置 GridBrushBase 的 Z 位置更改。 |
Rotate | 使用给定的 RotationDirection 旋转网格笔刷上的所有瓦片。 |
Select | 选择网格的一个区域。 |
GetInstanceID | 获取对象的实例 ID。 |
ToString | 返回对象的名称。 |
Destroy | 移除游戏对象、组件或资产。 |
DestroyImmediate | 立即销毁对象 obj。强烈建议使用 Destroy 代替。 |
DontDestroyOnLoad | 加载新场景时不要销毁目标对象。 |
FindAnyObjectByType | 检索任何类型为 type 的已加载活动对象。 |
FindFirstObjectByType | 检索类型为 type 的第一个已加载活动对象。 |
FindObjectsByType | 检索类型为 type 的所有已加载对象的列表。 |
Instantiate | 克隆对象 original 并返回克隆。 |
InstantiateAsync | 捕获原始对象(必须与某个游戏对象相关)的快照并返回 AsyncInstantiateOperation。 |
CreateInstance | 创建可脚本化对象的实例。 |
bool | 对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用以查看它们是否引用同一个对象。 |