You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
945 B
35 lines
945 B
6 months ago
|
@tool
|
||
|
extends ResourceFormatSaver
|
||
|
class_name DialogicCharacterFormatSaver
|
||
|
|
||
|
|
||
|
func _get_recognized_extensions(resource: Resource) -> PackedStringArray:
|
||
|
return PackedStringArray(["dch"])
|
||
|
|
||
|
|
||
|
# Return true if this resource should be loaded as a DialogicCharacter
|
||
|
func _recognize(resource: Resource) -> bool:
|
||
|
# Cast instead of using "is" keyword in case is a subclass
|
||
|
resource = resource as DialogicCharacter
|
||
|
|
||
|
if resource:
|
||
|
return true
|
||
|
|
||
|
return false
|
||
|
|
||
|
|
||
|
# Save the resource
|
||
|
func _save(resource: Resource, path: String = '', flags: int = 0):
|
||
|
var file := FileAccess.open(path, FileAccess.WRITE)
|
||
|
|
||
|
if not file:
|
||
|
# For now, just let editor know that for some reason you can't
|
||
|
# read the file.
|
||
|
print("[Dialogic] Error opening file:", FileAccess.get_open_error())
|
||
|
return FileAccess.get_open_error()
|
||
|
|
||
|
var result := var_to_str(inst_to_dict(resource))
|
||
|
file.store_string(result)
|
||
|
# print('[Dialogic] Saved character "' , path, '"')
|
||
|
return OK
|