Fix match state remaining mutable after and of match and implement initial work on aerials (#77)
CI / build-and-test (push) Successful in 2m7s
CI / production-build (push) Successful in 11m36s

Reviewed-on: #77
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #77.
This commit is contained in:
2026-09-29 12:40:14 +00:00
committed by EIREXE
parent 88ad9ed951
commit adf83ba03f
10 changed files with 300 additions and 26 deletions
+6
View File
@@ -47,6 +47,7 @@ pub mod run;
pub mod turn;
pub mod wait;
pub mod walk;
pub mod air_attack;
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
pub enum SurfacePolicy {
@@ -135,6 +136,7 @@ pub struct InterruptContext<'a> {
pub surface: &'a FighterSurfaceState,
pub animation: AnimationStatus,
pub stage_collision: &'a StageCollision,
pub attack_script_assets: &'a FighterAttackScriptAssets,
}
impl InterruptContext<'_> {
@@ -246,6 +248,7 @@ fighter_states! {
GroundAttack => ground_attack::GroundAttackState,
Hitstun => hitstun::HitstunState,
Angel => angel::AngelState,
AirAttack => air_attack::AirAttackState,
}
#[derive(QueryData)]
@@ -292,6 +295,7 @@ impl<'w, 's> FighterFrameQueryItem<'w, 's> {
baked_animations: &'a Assets<BakedFighterAnimations>,
attributes: &'a FighterAttributes,
stage_collision: &'a StageCollision,
attack_script_assets: &'a FighterAttackScriptAssets,
) -> InterruptContext<'a> {
let animation = self.animation_status(animations, baked_animations);
InterruptContext {
@@ -302,6 +306,7 @@ impl<'w, 's> FighterFrameQueryItem<'w, 's> {
animation,
surface: &self.surface,
stage_collision,
attack_script_assets: attack_script_assets
}
}
@@ -535,6 +540,7 @@ pub fn state_interrupt_system(
&baked_animations,
&manifest.attributes,
&stage_collision,
attack_script_assets
))
};