regression-test-project/AutomaticBugs/ValueCreator.gd

188 lines
4.5 KiB
GDScript3
Raw Normal View History

2021-03-27 15:53:32 +01:00
extends Node
2021-04-04 12:52:42 +02:00
# Creates random or not objects, variables etc.
2021-03-27 15:53:32 +01:00
var number: float = 0.0
2021-03-27 15:53:32 +01:00
var max_array_size: int = 15
2021-03-27 15:53:32 +01:00
func _ready() -> void:
randomize()
func get_int() -> int:
return int(number)
2021-03-27 15:53:32 +01:00
func get_int_string() -> String:
return str(int(number))
2021-03-27 15:53:32 +01:00
2021-03-27 15:53:32 +01:00
func get_float() -> float:
return number
2021-03-27 15:53:32 +01:00
func get_float_string() -> String:
return str(number)
2021-03-27 15:53:32 +01:00
2021-03-27 15:53:32 +01:00
func get_bool() -> bool:
return bool()
2021-03-27 15:53:32 +01:00
func get_bool_string() -> String:
return str(bool())
2021-03-27 15:53:32 +01:00
2021-03-27 15:53:32 +01:00
func get_vector2() -> Vector2:
return Vector2(get_float(), get_float())
2021-03-27 15:53:32 +01:00
func get_vector2i() -> Vector2i:
return Vector2i(get_int(), get_int())
2021-03-27 15:53:32 +01:00
func get_vector3() -> Vector3:
return Vector3(get_float(), get_float(), get_float())
2021-03-27 15:53:32 +01:00
func get_vector3i() -> Vector3i:
return Vector3i(get_int(), get_int(), get_int())
2021-03-27 15:53:32 +01:00
func get_aabb() -> AABB:
return AABB(get_vector3(), get_vector3())
2021-06-16 16:41:51 +02:00
func get_transform3D() -> Transform3D:
return Transform3D(get_vector3(), get_vector3(), get_vector3(), get_vector3())
2021-03-27 15:53:32 +01:00
func get_transform2D() -> Transform2D:
return Transform2D(get_vector2(), get_vector2(), get_vector2())
2021-03-27 15:53:32 +01:00
func get_plane() -> Plane:
return Plane(get_vector3(), get_vector3(), get_vector3())
2021-06-07 11:51:58 +02:00
func get_quaternion() -> Quaternion:
return Quaternion(get_vector3())
2021-03-27 15:53:32 +01:00
func get_basis() -> Basis:
return Basis(get_vector3(), get_vector3(), get_vector3())
2021-03-27 15:53:32 +01:00
func get_rect2() -> Rect2:
return Rect2(get_vector2(), get_vector2())
2021-03-27 15:53:32 +01:00
func get_rect2i() -> Rect2i:
return Rect2i(get_vector2i(), get_vector2i())
2021-03-27 15:53:32 +01:00
func get_color() -> Color:
return Color(get_float(), get_float(), get_float())
2021-03-27 15:53:32 +01:00
func get_string() -> String:
return String()
2021-03-27 15:53:32 +01:00
func get_nodepath() -> NodePath:
return NodePath(get_string())
func get_dictionary() -> Dictionary:
return Dictionary({})
2021-03-27 15:53:32 +01:00
func get_array() -> Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append([])
return Array([])
2021-03-27 15:53:32 +01:00
func get_Packed_string_array() -> PackedStringArray:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_string())
return PackedStringArray(array)
2021-03-27 15:53:32 +01:00
func get_Packed_int32_array() -> PackedInt32Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_int())
return PackedInt32Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_int64_array() -> PackedInt32Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_int())
return PackedInt32Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_byte_array() -> PackedByteArray:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_int())
return PackedByteArray(array)
2021-03-27 15:53:32 +01:00
func get_Packed_float32_array() -> PackedFloat32Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_float())
return PackedFloat32Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_float64_array() -> PackedFloat64Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_float())
return PackedFloat64Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_vector2_array() -> PackedVector2Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_vector2())
return PackedVector2Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_vector3_array() -> PackedVector3Array:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_vector3())
return PackedVector3Array(array)
2021-03-27 15:53:32 +01:00
func get_Packed_color_array() -> PackedColorArray:
var array: Array = []
for _i in range(int(min(max_array_size, number))):
2021-03-27 15:53:32 +01:00
array.append(get_color())
return PackedColorArray(array)
func get_object(object_name: String) -> Object:
assert(ClassDB.class_exists(object_name)) #,"Class " + object_name + " doesn't exists.")
# if object_name == "PhysicsDirectSpaceState3D" || object_name == "PhysicsDirectSpaceState2D":
# return BoxShape3D.new()
2021-03-27 15:53:32 +01:00
var a = 0
if ClassDB.can_instantiate(object_name): # E.g. Texture2D is not instantable or shouldn't be, but ImageTexture is
return ClassDB.instantiate(object_name)
2021-03-27 15:53:32 +01:00
else:
# Checking for children of non instantable object
var list_of_class = ClassDB.get_inheriters_from_class(object_name)
assert(list_of_class.size() > 0) # Number of inherited class of non instantable class must be greater than 0, otherwise this function would be useless#,"Cannot find proper instantable child for " + object_name)
for i in list_of_class:
if ClassDB.can_instantiate(i) && (ClassDB.is_parent_class(i, "Node") || ClassDB.is_parent_class(i, "RefCounted")):
return ClassDB.instantiate(i)
assert(false) #,"Cannot find proper instantable child for " + object_name)
2021-04-04 12:52:42 +02:00
return BoxShape3D.new()