use bevy::prelude::*;
use bevy_skein::SkeinAppExt;
use crate::rc::RcCollider;
pub struct PresetsPlugin;
impl Plugin for PresetsPlugin {
fn build(&self, app: &mut App) {
app .insert_skein_preset(RcColliderKeepMesh::name(), RcColliderKeepMesh::value())
.add_systems(Startup, || info!("PresetsPlugin started..."));
}
}
pub trait CustomPreset {
type PresetType: Component + Reflect + Default;
fn name() -> &'static str;
fn value() -> Self::PresetType;
}
pub struct RcColliderKeepMesh;
impl CustomPreset for RcColliderKeepMesh {
type PresetType = RcCollider;
fn name() -> &'static str {
"RcColliderKeepMesh"
}
fn value() -> Self::PresetType {
RcCollider {
keep_mesh: true,
..Default::default()
}
}
}