We are going to create our weapon component.
#[derive(component_derive::Component)]
pub struct Weapon {
pub resource_id: &'static str,
#[field] pub transform: maths_rs::Mat4f,
}
impl Weapon {
fn new(application: &mut Application) -> ComponentHandle<Self> {
let mesh = Mesh::new(application, "weapon.obj");
let weapon = Self {
mesh,
};
application.add_component(weapon)
}
fn fire(&self) {
// TODO: firing logic
}
}