- Fix several rubocop problems
- Update module to more fully encapsulate all dialogue tree handling
- Add Plot class for storing all tree data
- Add Digiplot class for (eventual) tree editing
- Added flow for working with editor:
- Allow for changing branches
- Recognize all options, with ease of implementing more
- Allow for exiting the editor
- Move assignment into initialize
- Dialogue should be responsible for the flow of a tree,
not displaying parts of it. With the exception of the prompt, all
display responsibilities fall to Gardner
- Remove functionality that doesn't belong in this module:
- Move printing of trunk to the dialogue class
- Remove tree generation entirely; let other modules generate trees as
they need them
- Style formatting
- Abstract functionality from talk into individual functions:
- display_trunk: Displays the trunk of the branch.
- display_branch: Displays the branch and option list
- get_response: Displays the conversation prompt, and gets the
response
- Of note, this allows the editor to make use of talk functionality
This should probably be on it's own branch, but too many of the changes I made
were already committed.
- Logic for a Plot, basically a data class
- Logic for Spade, the main functionality of the class
- Logic to load and parse the tree
- Functionality for loading the first branch with debugging mode
TO-DO
- Abstract branch display properly into Dialogue
- Abstract tree loading and parsing probably back into Gardner
- Change Gardner to a different name. Like... Druid or something...
- Actually build the editor
- Add logic for Planter, the editor module
- Add logic for catching a bad switch, and reporting accordingly
- Add logic for when no tree is included when required, and reporting
accordingly
- Move YAML file loading from Dialogue/Gardner to here