Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions addons/pandora/model/type.gd
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ func get_type_icon_path() -> String:
func is_valid(variant: Variant) -> bool:
return false

func is_actual_type(variant: Variant) -> bool:
return false

func allow_nesting() -> bool:
return true
Expand Down
5 changes: 4 additions & 1 deletion addons/pandora/model/types/array.gd
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ func _init() -> void:
func is_valid(variant: Variant) -> bool:
return variant is Array

func is_actual_type(variant: Variant) -> bool:
return variant is Array


func get_merged_settings(property: PandoraProperty) -> Dictionary:
var merged_settings: Dictionary = _settings.duplicate()
Expand Down Expand Up @@ -95,7 +98,7 @@ func write_value(variant: Variant) -> Variant:
value = value_type.write_value(value)
else:
for type in types:
if type.is_valid(value):
if type.is_actual_type(value):
value_type = type
value = type.write_value(value)
break
Expand Down
3 changes: 3 additions & 0 deletions addons/pandora/model/types/bool.gd
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ func _init() -> void:

func is_valid(variant: Variant) -> bool:
return variant is bool

func is_actual_type(variant: Variant) -> bool:
return variant is bool
3 changes: 3 additions & 0 deletions addons/pandora/model/types/color.gd
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is Color or variant is String

func is_actual_type(variant: Variant) -> bool:
return variant is Color
3 changes: 3 additions & 0 deletions addons/pandora/model/types/float.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,6 @@ func _init() -> void:

func is_valid(variant: Variant) -> bool:
return variant is float

func is_actual_type(variant: Variant) -> bool:
return variant is float
3 changes: 3 additions & 0 deletions addons/pandora/model/types/int.gd
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ func parse_value(variant: Variant, settings: Dictionary = {}) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is int

func is_actual_type(variant: Variant) -> bool:
return variant is int
3 changes: 3 additions & 0 deletions addons/pandora/model/types/reference.gd
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is PandoraEntity

func is_actual_type(variant: Variant) -> bool:
return variant is PandoraEntity
3 changes: 3 additions & 0 deletions addons/pandora/model/types/resource.gd
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ func is_valid(variant: Variant) -> bool:
# Allow String (resource paths) as they will be converted to Resources
# Allow Resource objects directly
return variant == null or variant is Resource or variant is String

func is_actual_type(variant: Variant) -> bool:
return variant is Resource
3 changes: 3 additions & 0 deletions addons/pandora/model/types/string.gd
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ func _init() -> void:

func is_valid(variant: Variant) -> bool:
return variant is String

func is_actual_type(variant: Variant) -> bool:
return variant is String
3 changes: 3 additions & 0 deletions addons/pandora/model/types/vector2.gd
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is Vector2

func is_actual_type(variant: Variant) -> bool:
return variant is Vector2
3 changes: 3 additions & 0 deletions addons/pandora/model/types/vector2i.gd
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is Vector2i

func is_actual_type(variant: Variant) -> bool:
return variant is Vector2i
3 changes: 3 additions & 0 deletions addons/pandora/model/types/vector3.gd
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is Vector3

func is_actual_type(variant: Variant) -> bool:
return variant is Vector3
3 changes: 3 additions & 0 deletions addons/pandora/model/types/vector3i.gd
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,6 @@ func write_value(variant: Variant) -> Variant:

func is_valid(variant: Variant) -> bool:
return variant is Vector3i

func is_actual_type(variant: Variant) -> bool:
return variant is Vector3i
Loading