GFPattern2D¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/math/gf_pattern_2d.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.17.0
可复用的二维格子模式资源。 用 Array[Vector2i] 描述范围、形状、阵型或 tile pattern。它不规定格子语义, 只负责尺寸、去重、边界过滤和常用查询。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | pattern_dimensions |
var pattern_dimensions: Vector2i = Vector2i(7, 7): |
| 属性 | cells |
var cells: Array[Vector2i] = []: |
| 方法 | is_in_bounds |
func is_in_bounds(cell: Vector2i) -> bool: |
| 方法 | has_cell |
func has_cell(cell: Vector2i) -> bool: |
| 方法 | set_cell |
func set_cell(cell: Vector2i, enabled: bool) -> bool: |
| 方法 | add_cell |
func add_cell(cell: Vector2i) -> bool: |
| 方法 | remove_cell |
func remove_cell(cell: Vector2i) -> bool: |
| 方法 | clear_cells |
func clear_cells() -> void: |
| 方法 | get_cells |
func get_cells() -> Array[Vector2i]: |
| 方法 | normalize_cells |
func normalize_cells() -> void: |
| 方法 | duplicate_pattern |
func duplicate_pattern() -> GFPattern2D: |
属性¶
pattern_dimensions¶
- API:
public
模式编辑尺寸。小于 1 的分量会被钳制到 1。
cells¶
- API:
public
启用的格子坐标列表。
方法¶
is_in_bounds¶
- API:
public
检查格子是否在 pattern 尺寸内。
参数:
| 名称 | 说明 |
|---|---|
cell |
格子坐标。 |
返回:在范围内返回 true。
has_cell¶
- API:
public
检查格子是否启用。
参数:
| 名称 | 说明 |
|---|---|
cell |
格子坐标。 |
返回:启用返回 true。
set_cell¶
- API:
public
设置格子是否启用。
参数:
| 名称 | 说明 |
|---|---|
cell |
格子坐标。 |
enabled |
是否启用。 |
返回:实际发生变化返回 true。
add_cell¶
- API:
public
添加格子。
参数:
| 名称 | 说明 |
|---|---|
cell |
格子坐标。 |
返回:实际添加返回 true。
remove_cell¶
- API:
public
移除格子。
参数:
| 名称 | 说明 |
|---|---|
cell |
格子坐标。 |
返回:实际移除返回 true。
clear_cells¶
- API:
public
清空所有格子。
get_cells¶
- API:
public
获取格子列表副本。
返回:格子列表副本。
normalize_cells¶
- API:
public
归一化格子列表,去重、排序并移除越界格子。
duplicate_pattern¶
- API:
public
创建深拷贝。
返回:新 pattern 资源。