|
@@ -1,11 +1,14 @@
|
|
|
-use std::{ffi::{CStr, CString, c_void}, error::Error};
|
|
|
+use std::{
|
|
|
+ error::Error,
|
|
|
+ ffi::{c_void, CStr, CString},
|
|
|
+};
|
|
|
|
|
|
-use server_plugin::{ServerPlugin, INetworkStringTableContainer, CreateInterfaceFn};
|
|
|
+use server_plugin::{CreateInterfaceFn, INetworkStringTableContainer, ServerPlugin};
|
|
|
use server_plugin_derive::create_interface;
|
|
|
|
|
|
struct TestPlugin {
|
|
|
plugin_name: CString,
|
|
|
- string_tables: Option<&'static INetworkStringTableContainer>
|
|
|
+ string_tables: Option<&'static INetworkStringTableContainer>,
|
|
|
}
|
|
|
|
|
|
impl TestPlugin {
|
|
@@ -18,13 +21,19 @@ impl TestPlugin {
|
|
|
}
|
|
|
|
|
|
impl ServerPlugin for TestPlugin {
|
|
|
- fn load(&mut self, sys_appfactory: CreateInterfaceFn, _server_factorty: CreateInterfaceFn) -> Result<(), Box<dyn Error>> {
|
|
|
+ fn load(
|
|
|
+ &mut self,
|
|
|
+ sys_appfactory: CreateInterfaceFn,
|
|
|
+ _server_factorty: CreateInterfaceFn,
|
|
|
+ ) -> Result<(), Box<dyn Error>> {
|
|
|
self.string_tables = INetworkStringTableContainer::from_factory(sys_appfactory).ok();
|
|
|
Ok(())
|
|
|
}
|
|
|
fn server_activate(&mut self, _edict_list: &mut [*mut c_void], _max_players: i32) {
|
|
|
let string_tables = self.string_tables.unwrap();
|
|
|
- for string_table in (0..string_tables.get_num_tables()).map_while(|id| string_tables.get_table(id)) {
|
|
|
+ for string_table in
|
|
|
+ (0..string_tables.get_num_tables()).map_while(|id| string_tables.get_table(id))
|
|
|
+ {
|
|
|
dbg!(string_table);
|
|
|
}
|
|
|
let table = string_tables.find_table("GModGameInfo").unwrap();
|