一键导入
godot-patterns
GDScript patterns and conventions for this Godot 4.6 project. Use when writing or reviewing GDScript code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
GDScript patterns and conventions for this Godot 4.6 project. Use when writing or reviewing GDScript code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | godot-patterns |
| description | GDScript patterns and conventions for this Godot 4.6 project. Use when writing or reviewing GDScript code. |
| user-invocable | false |
When creating a new game entity (player, NPC, interactable):
class_name with PascalCase@export for external node references (Health, Controller, etc.)_enter_tree(), not _ready()_on_<source>_<signal_name>()R.player_actions, never raw stringstree_exiting signalAll controllable entities use the Controller pattern:
@export var controller: Controller
func _enter_tree() -> void:
controller.attacked.connect(_on_controller_attacked)
controller.moved.connect(_on_controller_moved)
controller.dash.connect(_on_controller_dash)
Entities that deal damage: add a HitBox child with collision on layer 3.
Entities that take damage: add a HurtBox child with @export var health: Health, collision on layer 4.
Always respect: Dash > Attack > Movement. Check dash_controller.is_dashing before allowing attack. Check _current_melee_attack != null before allowing movement direction changes.
Dynamic scenes (like MeleeAttack) are instantiated, added as children, and cleaned up on tree_exiting:
var instance = _scene.instantiate()
add_child(instance)
instance.connect("tree_exiting", func(): instance_ref = null)