diff --git a/server/src/rhai/builder.rs b/server/src/rhai/builder.rs index 772e2dd..3ef2a59 100644 --- a/server/src/rhai/builder.rs +++ b/server/src/rhai/builder.rs @@ -1,10 +1,10 @@ use actix::{Actor, Addr}; -use mlua::Lua; -use rhai::{Engine, RegisterNativeFunction, Scope}; + use crate::client_management::ClientManager; -use crate::rhai::rhai_manager::RhaiManager; use crate::network::NetworkManager; +use crate::rhai::rhai_manager::RhaiManager; use crate::Server; +use rhai::{Engine, Scope}; pub struct Builder { engine: Engine, @@ -25,34 +25,36 @@ impl Builder { server, network_manager, client_manager, - scope: Default::default() + scope: Default::default(), } } pub fn scope_object(mut self, name: &str, obj: T) -> Self - where - T: Clone { + where + T: Clone, + { self.engine.register_type::(); self.scope.set_value(name, obj); self } - pub fn scope_fn(mut self, name: &str, func: F ) -> Self - where - F: RegisterNativeFunction - { - self.engine.register_fn(name, func); - self - } - + // not sure what this is for? + // pub fn scope_fn(mut self, name: &str, func: F) -> Self + // where + // F: RegisterNativeFunction, + // { + // self.engine.register_fn(name, func); + // self + // } pub(crate) fn build(self) -> Addr { RhaiManager { engine: self.engine, - scope: self.scope, - server: self.server, - network_manager: self.network_manager, - client_manager: self.client_manager - }.start() + _scope: self.scope, + _server: self.server, + _network_manager: self.network_manager, + _client_manager: self.client_manager, + } + .start() } -} \ No newline at end of file +} diff --git a/server/src/rhai/rhai_manager.rs b/server/src/rhai/rhai_manager.rs index aed917b..9f8f500 100644 --- a/server/src/rhai/rhai_manager.rs +++ b/server/src/rhai/rhai_manager.rs @@ -1,37 +1,44 @@ -use actix::{Actor, Addr, ArbiterHandle, AsyncContext, Context, Running}; -use actix::fut::wrap_future; -use rhai::{Engine, Func, Scope}; use crate::client_management::ClientManager; -use crate::rhai::builder::Builder; use crate::network::NetworkManager; +use crate::rhai::builder::Builder; use crate::Server; +use actix::{Actor, Addr, Context}; +use rhai::{Engine, Scope}; + pub struct RhaiManager { pub(super) engine: Engine, - pub(super) scope: Scope<'static>, - pub(super) server: Addr, - pub(super) network_manager: Addr, - pub(super) client_manager: Addr, + pub(super) _scope: Scope<'static>, + pub(super) _server: Addr, + pub(super) _network_manager: Addr, + pub(super) _client_manager: Addr, } impl RhaiManager { pub fn create( server: Addr, network_manager: Addr, - client_manager: Addr + client_manager: Addr, ) -> Builder { - Builder::new(server.clone(), network_manager.clone(), client_manager.clone()) - .scope_object("server", server) + Builder::new( + server.clone(), + network_manager.clone(), + client_manager.clone(), + ) + .scope_object("server", server) } } impl Actor for RhaiManager { type Context = Context; - fn started(&mut self, ctx: &mut Self::Context) { - self.engine.run(r#" + fn started(&mut self, _ctx: &mut Self::Context) { + self.engine + .run( + r#" print("hello rhai") - "#).unwrap(); + "#, + ) + .unwrap(); } } -