使用网格绘图工具(如绘画、擦除、拾取、选择和填充)在网格上创作数据的基类。
通过继承该类和/或从继承的类创建画笔资源实例,您可以创建自定义画笔,以响应高级网格事件,如绘画、擦除、拾取、选择和填充。
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 框填到所选图层的给定边界内。 |
Erase | 擦除网格上给定边界内的数据。 |
Flip | 翻转给定 FlipAxis 中的网格画笔。 |
FloodFill | 给定单元格的起始坐标,将数据灌填到网格中。 |
Move | 当用户移动之前使用选取框选择的区域时,将调用 Move。 |
MoveEnd | 当用户已结束对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。 |
MoveStart | 当用户开始对之前使用选取框选择的区域进行移动时,将调用 MoveEnd。 |
Paint | 将数据绘制到网格上的给定边界内。 |
Pick | 给定单元格坐标,从网格中选取数据。 |
Rotate | 按照给定的 RotationDirection 旋转网格画笔上的所有瓦片。 |
Select | 选择网格区域。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回 GameObject 的名称。 |
Destroy | 删除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 在加载新的 Scene 时,请勿销毁 Object。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
CreateInstance | 创建脚本化对象的实例。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |