use bevy::prelude::*;
use super::backend::ScriptHandle;
#[derive(Component, Reflect, Debug, Clone)]
#[reflect(Component)]
pub struct LuaScript {
pub path: String,
pub loaded: bool,
#[reflect(ignore)]
pub handle: Option<ScriptHandle>,
}
impl LuaScript {
pub fn new(path: impl Into<String>) -> Self {
Self {
path: path.into(),
loaded: false,
handle: None,
}
}
pub fn is_loaded(&self) -> bool {
self.loaded
}
pub fn set_loaded(&mut self, handle: ScriptHandle) {
self.loaded = true;
self.handle = Some(handle);
}
pub fn set_unloaded(&mut self) {
self.loaded = false;
self.handle = None;
}
}