using Core.Utilities;
/**
* 无尽模式boss技能AI基类
* @Author: chenxin
* @Date: 2020-11-02 20:23:32
*/
namespace KTGMGemClient
{
public abstract class EndlessBossSkillAI
{
public EndlessBossSkillAI(boss_skill param)
{
SkillData = param;
// cx test 现在表里面没有配AI类型,所以默认全部是Normal
AIType = EndlessBossSkillAIType.Normal;
}
///
/// 技能AI类型
///
///
public EndlessBossSkillAIType AIType { get; protected set; }
///
/// 技能配置表数据
///
public boss_skill SkillData { get; protected set; }
///
/// 技能是否被激活,只有被激活才会开始cd,也才能去释放,取决于具体的AI怎么去实现它
///
///
public bool IsActived { get; set; }
protected Timer timer;
///
/// 帧刷新
///
///
public virtual void Update(float deltaTime)
{
}
protected virtual void AddEvent()
{
EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessBeginWave, OnEndlessBeginWave);
}
protected virtual void RemoveEvent()
{
EventCenter.Ins.Remove((int)KTGMGemClient.EventType.EndlessBeginWave, OnEndlessBeginWave);
}
protected virtual void OnEndlessBeginWave()
{
}
///
/// AI 初始化
///
public virtual void Init()
{
AddEvent();
}
public virtual void Clear()
{
RemoveEvent();
}
///
/// 重置AI
///
public abstract void Reset();
///
/// 是否满足条件可以释放技能
///
///
public abstract bool CanRelease();
}
}