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
2022-01-06 08:36:36 +01:00
var number : float = 0.0
2021-03-27 15:53:32 +01:00
var max_array_size : int = 15
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func _ready ( ) - > void :
randomize ( )
func get_int ( ) - > int :
2022-01-06 08:36:36 +01:00
return int ( number )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_int_string ( ) - > String :
2022-01-06 08:36:36 +01:00
return str ( int ( number ) )
2021-03-27 15:53:32 +01:00
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_float ( ) - > float :
2022-01-06 08:36:36 +01:00
return number
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_float_string ( ) - > String :
2022-01-06 08:36:36 +01:00
return str ( number )
2021-03-27 15:53:32 +01:00
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_bool ( ) - > bool :
2022-01-06 08:36:36 +01:00
return bool ( )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_bool_string ( ) - > String :
2022-01-06 08:36:36 +01:00
return str ( bool ( ) )
2021-03-27 15:53:32 +01:00
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_vector2 ( ) - > Vector2 :
return Vector2 ( get_float ( ) , get_float ( ) )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_vector2i ( ) - > Vector2i :
return Vector2i ( get_int ( ) , get_int ( ) )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_vector3 ( ) - > Vector3 :
2021-05-18 06:56:35 +02:00
return Vector3 ( get_float ( ) , get_float ( ) , get_float ( ) )
2021-03-27 15:53:32 +01:00
func get_vector3i ( ) - > Vector3i :
2021-05-18 06:56:35 +02:00
return Vector3i ( get_int ( ) , get_int ( ) , get_int ( ) )
2021-03-27 15:53:32 +01:00
func get_aabb ( ) - > AABB :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_transform2D ( ) - > Transform2D :
2021-05-18 06:56:35 +02:00
return Transform2D ( get_vector2 ( ) , get_vector2 ( ) , get_vector2 ( ) )
2021-03-27 15:53:32 +01:00
func get_plane ( ) - > Plane :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_basis ( ) - > Basis :
2022-01-06 08:36:36 +01:00
return Basis ( get_vector3 ( ) , get_vector3 ( ) , get_vector3 ( ) )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_rect2 ( ) - > Rect2 :
return Rect2 ( get_vector2 ( ) , get_vector2 ( ) )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_rect2i ( ) - > Rect2i :
return Rect2i ( get_vector2i ( ) , get_vector2i ( ) )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_color ( ) - > Color :
2021-05-18 06:56:35 +02:00
return Color ( get_float ( ) , get_float ( ) , get_float ( ) )
2021-03-27 15:53:32 +01:00
func get_string ( ) - > String :
return String ( )
2021-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_nodepath ( ) - > NodePath :
return NodePath ( get_string ( ) )
2021-05-18 06:56:35 +02:00
2022-01-06 08:36:36 +01:00
func get_dictionary ( ) - > Dictionary :
return Dictionary ( { } )
2021-03-27 15:53:32 +01:00
func get_array ( ) - > Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_string_array ( ) - > PackedStringArray :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_int32_array ( ) - > PackedInt32Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_int64_array ( ) - > PackedInt32Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_byte_array ( ) - > PackedByteArray :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_float32_array ( ) - > PackedFloat32Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_float64_array ( ) - > PackedFloat64Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_vector2_array ( ) - > PackedVector2Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_vector3_array ( ) - > PackedVector3Array :
2021-05-18 06:56:35 +02:00
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-05-18 06:56:35 +02:00
2021-03-27 15:53:32 +01:00
func get_Packed_color_array ( ) - > PackedColorArray :
2021-05-18 06:56:35 +02:00
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 :
2022-01-06 08:36:36 +01:00
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
2022-01-06 08:36:36 +01:00
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 :
2022-01-06 08:36:36 +01:00
# 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 ( )