24 lines
634 B
GDScript
24 lines
634 B
GDScript
@tool
|
|
extends EditorScript
|
|
|
|
func _run() -> void:
|
|
var root := EditorInterface.get_edited_scene_root()
|
|
if not root:
|
|
print("No active scene found.")
|
|
return
|
|
|
|
_clean_node(root)
|
|
print("Cleanup complete! Save your scene (Ctrl+S / Cmd+S) to commit changes.")
|
|
|
|
func _clean_node(node: Node) -> void:
|
|
if node is Bone2D:
|
|
if node.has_meta("_local_pose_override_enabled_"):
|
|
node.remove_meta("_local_pose_override_enabled_")
|
|
node.scale = Vector2.ONE
|
|
node.transform = node.rest
|
|
elif node is Node2D and not node.scale.is_equal_approx(Vector2.ONE):
|
|
node.scale = Vector2.ONE
|
|
|
|
for child in node.get_children():
|
|
_clean_node(child)
|