diff options
Diffstat (limited to 'platforms/tortuise-script-compiled/src/script.rs')
| -rw-r--r-- | platforms/tortuise-script-compiled/src/script.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/platforms/tortuise-script-compiled/src/script.rs b/platforms/tortuise-script-compiled/src/script.rs new file mode 100644 index 0000000..d316fe5 --- /dev/null +++ b/platforms/tortuise-script-compiled/src/script.rs @@ -0,0 +1,29 @@ +use tortuise::script::Operation; + +use crate::ScriptContext; + +impl ScriptContext<'_> { + pub fn current_script_name(&self) -> String { + puffin::profile_function!(); + self.0.manifest.scripts[self.0.script_id].name().to_owned() + } + + pub fn script_id(&self, name: &str) -> Option<usize> { + puffin::profile_function!(); + self.0.scripts.script_id_by_name(name) + } + + pub fn activate_script(&mut self, name: &str) -> Option<()> { + puffin::profile_function!(); + let id = self.script_id(name)?; + self.0.operation_queue.push(Operation::ActivateScript(id)); + Some(()) + } + + pub fn deactivate_script(&mut self, name: &str) -> Option<()> { + puffin::profile_function!(); + let id = self.script_id(name)?; + self.0.operation_queue.push(Operation::DeactivateScript(id)); + Some(()) + } +} |
