|
@@ -1,14 +1,11 @@
|
|
|
-use std::{
|
|
|
- error::Error,
|
|
|
- ffi::{c_void, CStr, CString},
|
|
|
-};
|
|
|
+use std::{ffi::{CStr, CString, c_void}, error::Error};
|
|
|
|
|
|
-use server_plugin::{CreateInterfaceFn, INetworkStringTableContainer, ServerPlugin};
|
|
|
+use server_plugin::{ServerPlugin, INetworkStringTableContainer, CreateInterfaceFn};
|
|
|
use server_plugin_derive::create_interface;
|
|
|
|
|
|
struct TestPlugin {
|
|
|
plugin_name: CString,
|
|
|
- string_tables: Option<&'static INetworkStringTableContainer>,
|
|
|
+ string_tables: Option<&'static INetworkStringTableContainer>
|
|
|
}
|
|
|
|
|
|
impl TestPlugin {
|
|
@@ -21,19 +18,13 @@ 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();
|