public override void InitiateFollowingAttack(bool IsPartialAnimation, string ActiveMovementStance, RobotAnimation Owner) { if (!CanBeUsed) { Owner.Reload(); return; } bool CanUseNextCombo = false; if (IsShooting || IsReloading) { if (AnimationType == AnimationTypes.PartialAnimation == IsPartialAnimation) { CanUseNextCombo = true; } else { if ((AnimationType == AnimationTypes.PartialAnimation) == IsPartialAnimation) { CanUseNextCombo = true; } } if (CanUseNextCombo && IsReloading) { if (AnimationType == AnimationTypes.PartialAnimation) { Owner.RemovePartialAnimation(HoldingAnimationName); Owner.RemovePartialAnimation(ShootingAnimationName); Owner.ActivatePartialWeapon(this, ReloadAnimationName); CurrentAnimation.ActiveKeyFrame++; } else { Owner.LockAnimation = true; Owner.ActivatePartialWeapon(this, ReloadAnimationName); } } else if (CanUseNextCombo && IsShootingNext) { if (AnimationType == AnimationTypes.PartialAnimation) { Owner.RemovePartialAnimation(HoldingAnimationName); Owner.RemovePartialAnimation(ShootingAnimationName); Owner.ActivatePartialWeapon(this, ShootingAnimationName); CurrentAnimation.ActiveKeyFrame++; } else { Owner.LockAnimation = true; Owner.ActivatePartialWeapon(this, ShootingAnimationName); } } } _IsShooting = IsShootingNext; IsShootingNext = false; }
public override void InitiateFollowingAttack(bool IsPartialAnimation, string ActiveMovementStance, RobotAnimation Owner) { if (!CanBeUsed) { Owner.Reload(); return; } bool CanUseNextCombo = false; if (ActiveCombo != null) { if (ActiveCombo.AnimationType == AnimationTypes.PartialAnimation == IsPartialAnimation) { CanUseNextCombo = true; } else { Combo ActiveWeaponCombo = GetActiveWeaponCombo(ActiveMovementStance); if (ActiveWeaponCombo != null) { if ((ActiveCombo.AnimationType == AnimationTypes.PartialAnimation) == IsPartialAnimation) { CanUseNextCombo = true; ActiveWeaponCombo.Reset(); } } } if (CanUseNextCombo && NextCombo != null) { if (NextCombo.AnimationType == AnimationTypes.PartialAnimation) { Owner.RemovePartialAnimation(ActiveCombo.AnimationName); Owner.ActivatePartialWeapon(this, NextCombo.AnimationName); CurrentAnimation.ActiveKeyFrame++; } else { Owner.LockAnimation = true; Owner.ActivatePartialWeapon(this, NextCombo.AnimationName); } } } ActiveCombo = NextCombo; NextCombo = null; }