Add shifting ECB based on bone positions (melee-like)
This commit is contained in:
+10
-20
@@ -34,24 +34,13 @@ pub use motion::{
|
||||
pub use surface::FighterSurfaceState;
|
||||
|
||||
use crate::{
|
||||
AppState,
|
||||
fighter::{
|
||||
AppState, fighter::{
|
||||
attack::{
|
||||
AttackKind, FighterAttackPlugin, FighterAttackScriptAssets, FighterDamage,
|
||||
FighterKnockbackVelocity, FighterPendingHitReaction, FighterSolvedHurtboxes,
|
||||
FighterStaleMoveQueue,
|
||||
},
|
||||
baked_animation::{FighterBoneIndexMap, FighterBoneMatrices},
|
||||
manifest::FighterManifest,
|
||||
state::{FighterState, air::AirborneStateCommon, fall::FallState},
|
||||
visual::FighterAnimations,
|
||||
},
|
||||
input::FighterInput,
|
||||
math::{int::FGi32, vec::FGVec2},
|
||||
player::Player,
|
||||
schedule::GameplaySet,
|
||||
scripting::FighterAttackScript,
|
||||
stage::line::StageCollision,
|
||||
}, baked_animation::{FighterBoneIndexMap, FighterBoneMatrices}, ecb::FighterECBBoneIndices, manifest::FighterManifest, state::{FighterState, air::AirborneStateCommon, fall::FallState}, visual::FighterAnimations,
|
||||
}, input::FighterInput, math::{int::FGi32, vec::FGVec2}, player::Player, schedule::GameplaySet, scripting::FighterAttackScript, stage::line::StageCollision,
|
||||
};
|
||||
use state::state_interrupt_system;
|
||||
|
||||
@@ -182,7 +171,7 @@ impl Plugin for FighterPlugin {
|
||||
)*/
|
||||
.add_systems(
|
||||
GgrsSchedule,
|
||||
state::state_collision_interrupt_system.in_set(GameplaySet::Collision),
|
||||
(ecb::update_ecb, state::state_collision_interrupt_system, ecb::decrement_ecb_lockout).chain().in_set(GameplaySet::Collision),
|
||||
)
|
||||
.add_systems(
|
||||
Update,
|
||||
@@ -286,6 +275,7 @@ pub fn spawn_fighter(
|
||||
animations: FighterAnimations,
|
||||
attack_scripts: FighterAttackScriptAssets,
|
||||
visual_root: WorldAssetRoot,
|
||||
ecb_bone_indices: Vec<usize>,
|
||||
) -> Entity {
|
||||
commands
|
||||
.spawn((
|
||||
@@ -296,14 +286,14 @@ pub fn spawn_fighter(
|
||||
Fighter { manifest: manifest },
|
||||
FighterFacingDirection::Right,
|
||||
FighterPreviousFacingDirection(FighterFacingDirection::Right),
|
||||
FighterSurfaceState::Airborne,
|
||||
FighterSurfaceState::default(),
|
||||
Transform::from_scale(Vec3::splat(model_scale.to_num())),
|
||||
(
|
||||
FighterECB {
|
||||
vertical_half: FGi32::lit("5.0"),
|
||||
horizontal_half: FGi32::lit("2.5"),
|
||||
},
|
||||
FighterECB::default(),
|
||||
FighterHitboxes::default(),
|
||||
FighterECBBoneIndices {
|
||||
indices: ecb_bone_indices
|
||||
}
|
||||
),
|
||||
(
|
||||
FighterVelocity::default(),
|
||||
|
||||
Reference in New Issue
Block a user