Moving forward I want to add more events such as expressions/emotions of speaker, text speed control, text highlighting or styling in general. Also better ways to read actions when matching.
Here's an example with godot-rust where event_tick
is triggered by letter display timer to simulate typing:
```rust
#[func]
fn eventtick(&mut self) {
let Some(node) = self.besida.getnodemut() else { return };
let Some(event) = node.getevent() else { return };
let mut dialogue_box = self
.base
.get_parent()
.unwrap()
.get_node_as::<DialogueBox>("DialogueBox");
match event {
Event::PrintChar(char) => {
let speech = dialogue_box.bind().get_speech();
let new_speech = format!("{}{}", speech, char);
dialogue_box.bind_mut().set_speech(new_speech.into());
}
_ => {},
}
node.next_event();
}
```