BITFALL/Assets/Artists/Scripts/Equip/AIMeleeController.cs

44 lines
1.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Data.OleDb;
using BITFALL.Bullet;
using BITFALL.Guns;
using BITFALL.Items.Melee;
using BITKit;
using BITKit.Entities.Melee;
using UnityEngine;
namespace BITFALL.Entities.Equipment
{
public class AIMeleeController : AIEquipController
{
[SerializeField] private bool forceAttack;
private readonly IntervalUpdate interval = new(1);
private AssetableMelee assetableMelee=>assetableItem as AssetableMelee;
public override void Entry()
{
base.Entry();
UnityEntity.AddListener<BITConstant.Command.AttackCommand>(OnAttack);
}
public override void Exit()
{
base.Exit();
UnityEntity.RemoveListener<BITConstant.Command.AttackCommand>(OnAttack);
}
public override void OnUpdate(float deltaTime)
{
if (forceAttack && interval.AllowUpdate)
{
OnAttack(new BITConstant.Command.AttackCommand());
}
}
private void OnAttack(BITConstant.Command.AttackCommand obj)
{
UnityEntity.Invoke(Constant.Animation.Play, BITConstant.Player.Melee);
}
}
}