public override void OnPartialAnimationLoopEnd(PartialAnimation ActivePartialAnimation, string ActiveMovementStance, RobotAnimation Owner) { if (IsReloading) { if (CanBeReloaded()) { if (CurrentAnimation.AnimationPath == ReloadAnimationName) { IsReloading = false; Owner.ActivatePartialWeapon(this, GetAnimationName(ActiveMovementStance)); } else { InitiateFollowingAttack(true, ActiveMovementStance, Owner); } } else { IsReloading = false; } } else if (CurrentAnimation == ActivePartialAnimation) { CurrentAnimation = null; InitiateFollowingAttack(true, ActiveMovementStance, Owner); if (CurrentAnimation == null) { Owner.ActivatePartialWeapon(this, GetAnimationName(ActiveMovementStance)); } } }
protected override void OnPartialAnimationLoopEnd(PartialAnimation ActivePartialAnimation) { RemovePartialAnimation(ActivePartialAnimation); foreach (WeaponBase ActiveWeapon in PrimaryWeapons.ActiveWeapons) { ActiveWeapon.OnPartialAnimationLoopEnd(ActivePartialAnimation, ActiveMovementStance, this); } foreach (WeaponBase ActiveWeapon in SecondaryWeapons.ActiveWeapons) { if (ActiveWeapon.CurrentAnimation == ActivePartialAnimation) { ActiveWeapon.CurrentAnimation = null; ActiveWeapon.InitiateFollowingAttack(true, ActiveMovementStance, this); } else { } } }
public abstract void OnPartialAnimationLoopEnd(PartialAnimation ActivePartialAnimation, string ActiveMovementStance, RobotAnimation Owner);