37 lines
902 B
C#
37 lines
902 B
C#
|
using Koptilnya.StateMachine;
|
||
|
using Mirror;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace Characters.Enemy.States
|
||
|
{
|
||
|
public class AttackState : State<EnemyState>
|
||
|
{
|
||
|
private readonly Enemy _enemy;
|
||
|
private static readonly int AttackAnimHash = Animator.StringToHash("attack");
|
||
|
|
||
|
public AttackState(Enemy enemy) : base(EnemyState.Attack)
|
||
|
{
|
||
|
_enemy = enemy;
|
||
|
}
|
||
|
|
||
|
[ServerCallback]
|
||
|
public override void Enter()
|
||
|
{
|
||
|
_enemy.SetSpeedMul(1f);
|
||
|
}
|
||
|
|
||
|
[ServerCallback]
|
||
|
public override void Update()
|
||
|
{
|
||
|
_enemy.networkAnimator.SetTrigger(AttackAnimHash);
|
||
|
_enemy.RpcKillTarget(_enemy.targetTransform);
|
||
|
_enemy.ChangeState(EnemyState.Patrol);
|
||
|
}
|
||
|
|
||
|
[ServerCallback]
|
||
|
public override void Exit()
|
||
|
{
|
||
|
_enemy.targetTransform = null;
|
||
|
}
|
||
|
}
|
||
|
}
|