Version: 2022.1

GridBrushBase

class in UnityEngine

/

继承自:ScriptableObject

切换到手册

描述

使用网格绘图工具(如绘画、擦除、拾取、选择和填充)在网格上创作数据的基类。

通过继承该类和/或从继承的类创建画笔资源实例,您可以创建自定义画笔,以响应高级网格事件,如绘画、擦除、拾取、选择和填充。

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选择网格区域。

继承的成员

变量

hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

GetInstanceIDGets the instance ID of the object.
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。
CreateInstance创建脚本化对象的实例。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。

消息

Awake当 ScriptableObject 脚本启动时调用此函数。
OnDestroy当脚本化对象将销毁时调用此函数。
OnDisable当脚本化对象超出范围时调用此函数。
OnEnable当对象加载时调用此函数。
OnValidateEditor-only function that Unity calls when the script is loaded or a value changes in the Inspector.
Reset重置为默认值。