From 8a539cc36fbeeadca2dd196bef8f24447cd7cf90 Mon Sep 17 00:00:00 2001 From: AlephCubed Date: Thu, 18 Dec 2025 21:58:18 -0800 Subject: [PATCH] Added missing docs. --- src/registry.rs | 4 ++++ src/timer.rs | 1 + 2 files changed, 5 insertions(+) diff --git a/src/registry.rs b/src/registry.rs index 28fa30c..c7b1de5 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -2,14 +2,18 @@ use bevy_ecs::prelude::*; use std::any::TypeId; use std::collections::HashMap; +/// A function used to merge effects with [`EffectMode::Merge`](crate::EffectMode::Merge), which must be registered in the [registry](EffectMergeRegistry). pub type EffectMergeFn = fn(world: &mut World, old: Entity, incoming: Entity); +/// Stores the effect merge logic for each registered component. +/// New components can be registered by providing a [`EffectMergeFn`] to the [`register`](EffectMergeRegistry::register) method. #[derive(Resource, Default)] pub struct EffectMergeRegistry { pub(crate) merges: HashMap, } impl EffectMergeRegistry { + /// Registers a [`EffectMergeFn`] to be run whenever two `T` status effects are merged. pub fn register(&mut self, f: EffectMergeFn) -> &mut Self { self.merges.insert(TypeId::of::(), f); self diff --git a/src/timer.rs b/src/timer.rs index 1acb9d1..9176283 100644 --- a/src/timer.rs +++ b/src/timer.rs @@ -17,6 +17,7 @@ impl Plugin for TimerPlugin { } } +/// Registers the default merge logic for [`Lifetime`] and [`Delay`]. pub fn register_timer_merge_functions(registry: &mut EffectMergeRegistry) { registry .register::(merge_timer::) -- 2.54.0