30 lines
451 B
Rust
30 lines
451 B
Rust
|
use rhai::plugin::*;
|
||
|
|
||
|
#[derive(Clone)]
|
||
|
pub struct Point {
|
||
|
x: f32,
|
||
|
y: f32,
|
||
|
}
|
||
|
|
||
|
#[export_module]
|
||
|
pub mod test_module {
|
||
|
pub use super::Point;
|
||
|
#[rhai_fn(get = "foo")]
|
||
|
pub fn test_fn(input: &mut Point) {
|
||
|
input.x *= 2.0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
let mut n = Point {
|
||
|
x: 0.0,
|
||
|
y: 10.0,
|
||
|
};
|
||
|
test_module::test_fn(&mut n);
|
||
|
if n.x > 10.0 {
|
||
|
println!("yes");
|
||
|
} else {
|
||
|
println!("no");
|
||
|
}
|
||
|
}
|