From cf29c2c50d17955e99d24aacfa3f677f1851638b Mon Sep 17 00:00:00 2001 From: michael-bailey Date: Thu, 15 Sep 2022 08:15:56 +0100 Subject: [PATCH] cleaned up lua manager --- server/src/lua/builder.rs | 8 ++------ server/src/lua/lua_manager.rs | 37 ++++++++++++++++++----------------- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/server/src/lua/builder.rs b/server/src/lua/builder.rs index f696f37..9d4d289 100644 --- a/server/src/lua/builder.rs +++ b/server/src/lua/builder.rs @@ -1,13 +1,10 @@ -use actix::{Actor, Addr}; -use mlua::Lua; -use rhai::{Engine, RegisterNativeFunction, Scope}; use crate::client_management::ClientManager; use crate::lua::lua_manager::LuaManager; use crate::network::NetworkManager; use crate::Server; +use actix::Addr; pub struct Builder { - pub(crate) engine: Lua, pub(super) server: Addr, pub(super) network_manager: Addr, pub(super) client_manager: Addr, @@ -20,7 +17,6 @@ impl Builder { client_manager: Addr, ) -> Self { Builder { - engine: Lua::new(), server, network_manager, client_manager, @@ -30,4 +26,4 @@ impl Builder { pub(crate) fn build(self) -> Addr { Addr::from(self) } -} \ No newline at end of file +} diff --git a/server/src/lua/lua_manager.rs b/server/src/lua/lua_manager.rs index 94c0d69..f1051c2 100644 --- a/server/src/lua/lua_manager.rs +++ b/server/src/lua/lua_manager.rs @@ -2,36 +2,31 @@ //! //! Holds the LuaManger struct and implements it's methods -use actix::{Actor, Addr, ArbiterHandle, AsyncContext, Context, Running}; -use actix::fut::wrap_future; -use mlua::{Lua, Thread, ThreadStatus}; -use rhai::{Engine, Func, Scope}; use crate::client_management::ClientManager; use crate::lua::builder::Builder; use crate::network::NetworkManager; use crate::scripting::scriptable_server::ScriptableServer; use crate::Server; +use actix::fut::wrap_future; +use actix::{Actor, Addr, AsyncContext, Context}; +use mlua::{Lua, Thread}; /// # LuaManager /// Holds common server objects /// todo: change to weak references pub struct LuaManager { pub(super) server: Addr, - pub(super) network_manager: Addr, - pub(super) client_manager: Addr, + pub(super) _network_manager: Addr, + pub(super) _client_manager: Addr, } impl LuaManager { pub fn create( server: Addr, network_manager: Addr, - client_manager: Addr + client_manager: Addr, ) -> Builder { - Builder::new( - server, - network_manager, - client_manager - ) + Builder::new(server, network_manager, client_manager) } fn create_lua(&self) -> Lua { @@ -53,13 +48,18 @@ impl Actor for LuaManager { let engine = self.create_lua(); ctx.spawn(wrap_future(async move { - let coroutine: Thread = engine.load(r#" + let coroutine: Thread = engine + .load( + r#" coroutine.create(function () print("hello lua") print(chat.server:name()) end) - "#).eval().unwrap(); - let coroutine = coroutine.into_async::<(),()>(()); + "#, + ) + .eval() + .unwrap(); + let coroutine = coroutine.into_async::<(), ()>(()); coroutine.await.expect("TODO: panic message"); })); } @@ -71,8 +71,9 @@ impl From for Addr { fn from(b: Builder) -> Addr { LuaManager { server: b.server, - network_manager: b.network_manager, - client_manager: b.client_manager - }.start() + _network_manager: b.network_manager, + _client_manager: b.client_manager, + } + .start() } }