regression-test-project/CreatingAllThings/CreatingAllThings.gd

33 lines
938 B
GDScript3
Raw Normal View History

2021-09-18 20:59:24 +02:00
extends Node2D
2022-01-05 19:35:38 +01:00
var available_classes: Array = []
var exeptions: Array = ["SceneTree", "EditorSettings", "ProjectSettings"]
2021-09-18 20:59:24 +02:00
func _ready():
2022-01-05 19:35:38 +01:00
var cl: Array = Array(ClassDB.get_class_list())
2021-09-18 20:59:24 +02:00
cl.sort()
for name_of_class in cl:
2022-01-05 19:35:38 +01:00
# Repeat 3 times, to be sure that code don't crash in unreleated function
for _i in range(3):
if !ClassDB.can_instance(name_of_class):
continue
if name_of_class in exeptions:
continue
if name_of_class.to_lower().find("server") != -1:
continue
print("########### " + name_of_class)
print('GDSCRIPT CODE: var thing = ClassDB.instance("' + name_of_class + '")')
print("GDSCRIPT CODE: str(" + name_of_class + ")")
var thing = ClassDB.instance(name_of_class)
str(thing)
if thing is Node:
print("GDSCRIPT CODE: thing.queue_free()")
thing.queue_free()
elif thing is Object && !(thing is Reference):
print("GDSCRIPT CODE: thing.free()")
thing.free()