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

Implement a Custom Variable System #200

Closed
CryZe opened this issue May 15, 2019 · 2 comments · Fixed by #201
Closed

Implement a Custom Variable System #200

CryZe opened this issue May 15, 2019 · 2 comments · Fixed by #201
Labels
enhancement An improvement for livesplit-core. feature A new user visible feature for livesplit-core. needs further discussion It is unclear how to progress without making further decisions. priority: high This is a high priority issue.

Comments

@CryZe
Copy link
Collaborator

CryZe commented May 15, 2019

We probably want to have a system that allows storing arbitrary key value pairs (probably both of type string initially). And then allow visualizing them as an info text component. The counter component can then use those to represent its inner state. The Run Editor can show them in the Metadata section. I'm guessing these variables should also have other information such as whether they are transient or are kept across attempts and whether they are read only in the Run Editor. Auto Splitters and components can provide them.

@CryZe CryZe added enhancement An improvement for livesplit-core. needs further discussion It is unclear how to progress without making further decisions. feature A new user visible feature for livesplit-core. labels May 15, 2019
@CryZe
Copy link
Collaborator Author

CryZe commented May 16, 2019

The categorization so far is:

Scope

  • Always: The variable always keeps its value.
  • Per Attempt: The variable is only meaningful for a single attempt and resets its value between them.
  • Per Split: The variable is only meaningful for a single segment and resets between them.
  • Per PB: The variable is represents information about the PB, so it gets reset as the PB changes. (Such as Video URL or Comment)
  • Personal: The variable is about the specific runner. When creating route files, these should be reset.
  • Category: The variable is about the specific category. When changing the category, these should be reset.
  • Game: The variable is about the specific game. When changing the game, these should be reset.

Kind

  • User Editable Variable: The variable can be modified, deleted, renamed by the user.
  • Automatic Variable: The variable is provided by an auto splitter. The value is only informational. It can't be edited and the value is not stored in splits files.

@CryZe
Copy link
Collaborator Author

CryZe commented May 16, 2019

Also one really big thing that I didn't even think about until now: We can store all the automatic variables in the segment history. That way you have historic information of so much more than just the split times.

@CryZe CryZe added the work in progress Someone is working on this. label May 17, 2019
@CryZe CryZe mentioned this issue May 17, 2019
8 tasks
@CryZe CryZe added the priority: high This is a high priority issue. label Dec 24, 2019
@CryZe CryZe pinned this issue Dec 24, 2019
@CryZe CryZe closed this as completed in #201 Jan 7, 2020
@CryZe CryZe unpinned this issue Jan 7, 2020
@CryZe CryZe removed the work in progress Someone is working on this. label Feb 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement for livesplit-core. feature A new user visible feature for livesplit-core. needs further discussion It is unclear how to progress without making further decisions. priority: high This is a high priority issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant