summaryrefslogtreecommitdiff
path: root/platforms/tortuise-script-compiled/src/script.rs
blob: d316fe50a70c966386d192a58df0c5d6316cc900 (plain)
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(())
	}
}