Skip to content

Save and Load Properties #2483

@CakeVR

Description

@CakeVR

Overview

Primarily, this serves as a tracker issue. There is a discussion available on our Discord.

Currently, the saving system does not accommodate for various detailed property changes to various properties in Dialogic.

Examples

Any changes made to Layered Portraits won't be saved; any changes made to the Background property won't be saved.

Options

We discussed various approaches to this deficiency:

Overriding _set

We can listen to changes to properties via the _set method. However, we also need to track for stale data, likely cleaning saved properties on transitional states: Changing displayed characters or backgrounds.

Exposing _set_persistent

A new method that needs to be implemented by Dialogic classes: DialogicBackground, LayeredPortrait, and more.
It would internally perform code as such:

func _set_persistent(property: String, value: Variant) -> void:
    DialogicUtil.autoload().current_state_info[UNIQUE_OBJECT_NAME][property] = value

Importance

This is a blocker for the release of Dialogic 2 Beta and for Timeline Rollback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions