sm-ext 0.3.0

Helpers for writing SourceMod Extensions in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//! Minimal example of a valid SourceMod extension.

use sm_ext::{IExtension, IExtensionInterface, IShareSys, SMExtension};

#[derive(Default, SMExtension)]
#[extension(name = "Rusty", description = "Sample extension written in Rust")]
pub struct MyExtension;

impl IExtensionInterface for MyExtension {
    fn on_extension_load(&mut self, myself: IExtension, sys: IShareSys, late: bool) -> Result<(), Box<dyn std::error::Error>> {
        println!(">>> Rusty extension loaded! me = {:?}, sys = {:?}, late = {:?}", myself, sys, late);

        Ok(())
    }
}