wowlab_engine_content/hooks/fire_mage/
handler.rs1use wowlab_engine_combat::CombatHandler;
2use wowlab_engine_ports::{HandlerParams, SimContext};
3
4
5use super::config::wire_fire;
6
7#[derive(Debug)]
8pub(crate) struct FireHandler {
9 inner: CombatHandler,
10}
11
12impl FireHandler {
13 pub(crate) fn new(
14 parts: crate::composition::ContentHandlerParts,
15 params: &HandlerParams<'_>,
16 ) -> Self {
17 let mut built = parts.into_built();
18
19 wire_fire(&mut built, params);
20
21 Self {
22 inner: CombatHandler::from_built(built),
23 }
24 }
25}
26
27crate::hooks::define_spec_handler! {
28impl FireHandler(self, inner) {
29 fn on_sim_start(&mut self, ctx: &mut SimContext) {
30 self.inner.on_sim_start(ctx);
31 }
32}
33}