implement sleep token for chats
This commit is contained in:
parent
fbc6dea13e
commit
b06e54a0d9
11
src/chat.rs
11
src/chat.rs
|
@ -14,6 +14,7 @@ pub const TOKEN_CHAT: &str = "chat";
|
|||
pub const TOKEN_MSG: &str = "msg";
|
||||
pub const TOKEN_SYSTEM: &str = "system";
|
||||
pub const TOKEN_WARN: &str = "warn";
|
||||
pub const TOKEN_SLEEP: &str = "sleep";
|
||||
pub const TOKEN_SET: &str = "set";
|
||||
pub const TOKEN_IF: &str = "if";
|
||||
pub const TOKEN_GOTO: &str = "goto";
|
||||
|
@ -34,6 +35,7 @@ pub const NON_CHOICE_TOKENS: &[&str] = &[
|
|||
TOKEN_MSG,
|
||||
TOKEN_SYSTEM,
|
||||
TOKEN_WARN,
|
||||
TOKEN_SLEEP,
|
||||
TOKEN_SET,
|
||||
TOKEN_IF,
|
||||
TOKEN_GOTO,
|
||||
|
@ -100,6 +102,7 @@ pub enum ChatEvent {
|
|||
SpawnMessage(String, hud::LogLevel),
|
||||
SpawnChoice(String, usize, ChatPos),
|
||||
RunScript(String),
|
||||
Sleep(f64),
|
||||
//Script(String, String, String),
|
||||
}
|
||||
|
||||
|
@ -331,6 +334,11 @@ impl ChatDB {
|
|||
(Some(TOKEN_SCRIPT), Value::String(script)) => {
|
||||
event.send(ChatEvent::RunScript(script));
|
||||
}
|
||||
(Some(TOKEN_SLEEP), Value::Number(time)) => {
|
||||
if let Some(time_f64) = time.as_f64() {
|
||||
event.send(ChatEvent::Sleep(time_f64));
|
||||
}
|
||||
}
|
||||
_ => {
|
||||
}
|
||||
}
|
||||
|
@ -490,6 +498,9 @@ pub fn handle_chat_events(
|
|||
ChatEvent::RunScript(script) => {
|
||||
ew_chatscript.send(ChatScriptEvent(script.clone()));
|
||||
}
|
||||
ChatEvent::Sleep(sleep_duration) => {
|
||||
chat.timer = now + sleep_duration;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue