5.1 KiB
Dialog Class
The Dialogic class provides pretty much all the methods you need to interact with Dialogic via code.
You can access them simply by using the class name Dialogic.method_i_want_to_call()
.
Starting Dialog
start()
start(timeline, default_timeline, dialog_scene_path, use_canvas_instead)
Starts the dialog for the given timeline and returns a Dialog node. You must then add it manually to the scene to display the dialog.
Example:
var new_dialog = Dialogic.start('Your Timeline Name Here')
add_child(new_dialog)
@param timeline
The timeline you wish to load. You can provide the timeline name or the filename, at your discretion. Leave this empty to start from a save slot.
We encourage you to specify the timeline name with the folders in front (e.g. 'Part 1/Chapter 1').
@param default_timeline
If timeline == '' (so it's loading from the save slot) and no valid data was found, this will be loaded.
@param dialog_scene_path
If you made a custom Dialog scene or moved it from its default path, you can specify its new path here.
@param use_canvas_instead
True by default. Creates the Dialog inside a canvas layer to make it show up regardless of the camera 2D/3D situation.
@returns A Dialog node to be added into the scene tree (see example above).
change_timeline()
change_timeline(timeline)
Is used to change the current timeline. This way the state of the DialogNode (like characters, the theme and background music) are preserved from the currently active node.
@param timeline
Same as the one on start()
, although it cannot load from saves.
next_event()
next_event(discreetly)
Is used to immediately play the next event.
@param discreetly
A boolean (default value: false) that determines whether the Passing Audio will be played.
timeline_exists()
timeline_exists(timeline)
Returns true if a timeline with the given name at the given path exists, otherwise false.
@param timeline
The name/path to check.
Saving and loading
The Dialogic class provides the following methods for dealing with saving and loading. Learn more about how to use them in the Saving and Loading tutorial.
load()
load(slot_name)
@param slot_name
Specifies the slot name to be loaded. If empty, it will load the default save.
save()
save(slot_name)
@param slot_name
Specifies the slot name to be saved to. If empty, it will save to the default slot.
get_slot_names()
get_slot_names()
@returns An array with all the available slot names.
erase_slot()
erase_slot(slot_name)
@param slot_name
Specifies the slot name to be deleted.
has_current_dialog_node()
has_current_dialog_node()
@returns True if there is a Dialog Node active, otherwise false.
reset_saves()
reset_saves(slot_name)
@param slot_name
Specifies the slot to be reset. Uses the default slot if left empty.
get_current_slot()
get_current_slot()
@returns The name of the last loaded slot or "/" if import() was used.
export()
export()
Is used to get all necessary info, so you can save it however you want.
@returns A dictionary with all important information about the dialogic game state. There are three sub-dictionaries with the keys 'definitions', 'state' and 'dialog_state'.
- 'definitions' contains all the definitions, values as well as glossary entries (only their current value, not the defaults
- 'state' contains the so called "game_state": custom information that can be accessed with the
Dialogic.get_saved_state_general_key()
andDialogic.set_saved_state_general_key()
methods. - 'dialog_state' that contains all information needed to load the dialog back in (if any dialog was playing when export() is called. Example information is the current timeline, event index, characters on screen with their portraits, background, music, etc...
import()
import(data)
Is used to load data that was exported back in.
@param data
A dictionary that should be the same as the one you get from export()
.
Variables
You can change the value definitions through your code!
set_variable()
set_variable(name, value)
Sets the value of the value definition named @param name
to @param value
.
get_variable()
get_variable(name, default)
Returns the current (not default) value of the value definition named @param name
or @param default
if no value definition like that was named.
clear_all_variables()
clear_all_variables()
Clears all configured variables.
Game State
The game state is custom information that you can access with the following functions and that will be saved and loaded alongside the other dialogic data.
get_saved_state_general_key()
get_saved_state_general_key(key, default)
@returns
The value of the given @param key
or @param default
if nothing is found.
set_saved_state_general_key()
set_saved_state_general_key(key, value)
Changes the value of the given @param key
to the value of @param value
.
Other stuff
get_action_button()
Mostly used for internal purposes.
@returns The input action selected on the dialogic setting page.