diff options
Diffstat (limited to '')
| -rw-r--r-- | rust/src/game.rs | 1 | ||||
| -rw-r--r-- | rust/src/goal_trigger.rs | 30 | ||||
| -rw-r--r-- | rust/src/lib.rs | 2 | 
3 files changed, 32 insertions, 1 deletions
diff --git a/rust/src/game.rs b/rust/src/game.rs index ece5a54..7004f96 100644 --- a/rust/src/game.rs +++ b/rust/src/game.rs @@ -41,6 +41,5 @@ impl Game {      // This function will be called in every frame      #[export]      unsafe fn _process(&self, _owner: &Spatial, delta: f64) { -        godot_print!("Inside {} _process(), delta is {}", self.name, delta);      }  } diff --git a/rust/src/goal_trigger.rs b/rust/src/goal_trigger.rs new file mode 100644 index 0000000..457eb7b --- /dev/null +++ b/rust/src/goal_trigger.rs @@ -0,0 +1,30 @@ +use gdnative::api::*; +use gdnative::prelude::*; +use gdnative::core_types::VariantArray; +use gdnative::object::*; + +/// The SpinningCube "class" +#[derive(NativeClass)] +#[inherit(Node)] +pub struct GoalTriggerZone { +    level_loader: Option<Ref<Node>>, +} + +#[methods] +impl GoalTriggerZone { +    fn new(_owner: &Node) -> Self { +        GoalTriggerZone { +            level_loader: None, +        } +    } + +    #[export] +    unsafe fn _ready(&mut self, owner: &Node) { +        // TODO get loader +    } + +    #[export] +    fn overlap(&mut self, owner: &Node) { +        godot_print!("OVERLAPPED"); +    } +} diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 534955f..401b668 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -5,6 +5,7 @@ mod buff_phase;  mod buff_trait;  mod buff_ball;  mod buff_extra; +pub mod goal_trigger;  use gdnative::prelude::{godot_init, InitHandle}; @@ -12,6 +13,7 @@ use gdnative::prelude::{godot_init, InitHandle};  fn init(handle: InitHandle) {      handle.add_class::<game::Game>();      handle.add_class::<spinning_cube::SpinningCube>(); +    handle.add_class::<goal_trigger::GoalTriggerZone>();  }  // macros that create the entry-points of the dynamic library.  | 
