Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Save and Load Properties #2483

Open
CakeVR opened this issue Nov 16, 2024 · 0 comments
Open

Save and Load Properties #2483

CakeVR opened this issue Nov 16, 2024 · 0 comments
Labels
Critical 💩 Enhance ⚡ Improve a feature's workflow. Planned This will be worked on soon

Comments

@CakeVR
Copy link
Collaborator

CakeVR commented Nov 16, 2024

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.

@CakeVR CakeVR added Critical 💩 Planned This will be worked on soon Enhance ⚡ Improve a feature's workflow. labels Nov 16, 2024
@CakeVR CakeVR added this to the Version 2.0 (beta) milestone Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Critical 💩 Enhance ⚡ Improve a feature's workflow. Planned This will be worked on soon
Projects
None yet
Development

No branches or pull requests

1 participant