feat: Integrate custom prop library and sandbox functionality
- Added support for custom props in the sandbox, including loading, saving, and rendering. - Implemented `PropLibrary` for managing custom prop entries and scanning for `.prop` files. - Introduced `PropVisuals` for shared visual and collision representation of custom props. - Enhanced `StageSpawner` to handle spawning of custom props with layered visuals and collision hulls. - Created `MissingPropPlaceholder` to manage missing custom props during scene reloads. - Updated thumbnail generation to support custom props with unique keys based on file paths. - Added tests for custom prop lifecycle, authored visual values, and missing prop handling. - Refactored existing code to accommodate new prop functionalities and ensure backward compatibility.
This commit is contained in:
@@ -47,9 +47,9 @@ func _test_prop_file_keys() -> void:
|
||||
f.close()
|
||||
var key: String = cache.prop_file_key(path)
|
||||
var mtime: int = FileAccess.get_modified_time(path)
|
||||
check("prop_file_key format", key == "prop_thumb_key_test_%d" % mtime)
|
||||
check("prop_file_key includes file namespace and mtime", key.begins_with("file_") and key.ends_with("_%d" % mtime))
|
||||
check("prop_file_png uses PROP_DIR", cache.prop_file_png(path) == "user://thumbnails/props/%s.png" % key)
|
||||
check("prop_file_key missing file still formats", cache.prop_file_key("res://nope.prop") == "nope_0")
|
||||
check("prop_file_key missing file still formats", cache.prop_file_key("res://nope.prop").begins_with("file_") and cache.prop_file_key("res://nope.prop").ends_with("_0"))
|
||||
DirAccess.remove_absolute(path)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user