Big fix patch for enemy behaviors
This commit is contained in:
@@ -10,24 +10,24 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private readonly string _idleName = "Idle";
|
||||
private readonly string _walkingName = "Walking";
|
||||
private readonly string _stopWalkName = "Stop Walk";
|
||||
private readonly string _primaryAttackName = "Primary Attack";
|
||||
private readonly string _secondaryAttackName = "Secondary Attack";
|
||||
private readonly string _primarySkillName = "Primary Skill";
|
||||
private readonly string _activateName = "Activate";
|
||||
private readonly string _activateFront = "activate";
|
||||
private readonly string _activateLeft = "activate_left";
|
||||
private readonly string _activateRight = "activate_right";
|
||||
private readonly string _activateBack = "activate_back";
|
||||
private readonly string _parametersPlayback = "parameters/playback";
|
||||
protected readonly string _idleName = "Idle";
|
||||
protected readonly string _walkingName = "Walking";
|
||||
protected readonly string _stopWalkName = "Stop Walk";
|
||||
protected readonly string _primaryAttackName = "Primary Attack";
|
||||
protected readonly string _secondaryAttackName = "Secondary Attack";
|
||||
protected readonly string _primarySkillName = "Primary Skill";
|
||||
protected readonly string _activateName = "Activate";
|
||||
protected readonly string _activateFront = "activate";
|
||||
protected readonly string _activateLeft = "activate_left";
|
||||
protected readonly string _activateRight = "activate_right";
|
||||
protected readonly string _activateBack = "activate_back";
|
||||
protected readonly string _parametersPlayback = "parameters/playback";
|
||||
|
||||
[Node] public AnimationTree AnimationTree { get; set; } = default!;
|
||||
|
||||
[Export] public AttackDataResource AttackData { get; set; }
|
||||
|
||||
private AnimationNodeStateMachinePlayback _stateMachine;
|
||||
protected AnimationNodeStateMachinePlayback _stateMachine;
|
||||
|
||||
public event EventHandler HitPlayer;
|
||||
|
||||
@@ -44,19 +44,19 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
AnimationTree.AnimationFinished += AnimationTree_AnimationFinished;
|
||||
}
|
||||
|
||||
public virtual void PlayPrimaryAttackAnimation() => _stateMachine.Travel(_primaryAttackName);
|
||||
public virtual void PlayPrimaryAttackAnimation() => _stateMachine.Travel(_primaryAttackName, false);
|
||||
|
||||
public virtual void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName);
|
||||
public virtual void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName, false);
|
||||
|
||||
public virtual void PlayPrimarySkillAnimation() => _stateMachine.Travel(_primarySkillName);
|
||||
public virtual void PlayPrimarySkillAnimation() => _stateMachine.Travel(_primarySkillName, false);
|
||||
|
||||
public virtual void PlayIdleAnimation() => _stateMachine.Travel(_idleName);
|
||||
public virtual void PlayIdleAnimation() => _stateMachine.Travel(_idleName, false);
|
||||
|
||||
public virtual void PlayWalkAnimation() => _stateMachine.Travel(_walkingName);
|
||||
public virtual void PlayWalkAnimation() => _stateMachine.Travel(_walkingName, false);
|
||||
|
||||
public virtual void PlayStopWalkAnimation() => _stateMachine.Travel(_stopWalkName);
|
||||
public virtual void PlayStopWalkAnimation() => _stateMachine.Travel(_stopWalkName, false);
|
||||
|
||||
public virtual void PlayActivateAnimation() => _stateMachine.Travel(_activateName);
|
||||
public virtual void PlayActivateAnimation() => _stateMachine.Travel(_activateName, false);
|
||||
|
||||
public virtual void PlayDeathAnimation() => throw new System.NotImplementedException();
|
||||
|
||||
@@ -64,7 +64,7 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
protected virtual void OnPlayerHit(AttackEventArgs arg) => HitPlayer?.Invoke(this, arg);
|
||||
|
||||
private void AnimationTree_AnimationFinished(StringName animName)
|
||||
protected void AnimationTree_AnimationFinished(StringName animName)
|
||||
{
|
||||
if (animName == _activateFront || animName == _activateLeft || animName == _activateRight || animName == _activateBack)
|
||||
ActivationFinished?.Invoke(this, EventArgs.Empty);
|
||||
|
||||
Reference in New Issue
Block a user