using Milimoe.FunGame.Core.Entity;
namespace Milimoe.FunGame.Core.Interface.Entity
{
///
/// ISkill 是技能的通用接口,包含一些基本属性,实现类: 和
///
public interface ISkill : IBaseEntity
{
///
/// 此技能所属的角色
///
public Character? Character { get; }
///
/// 技能描述
///
public string Description { get; }
///
/// 技能的通用描述
///
public string GeneralDescription { get; }
///
/// 技能等级,等于 0 时可以称之为尚未学习
///
public int Level { get; }
///
/// 是否可用 [ 此项为高优先级 ]
///
public bool Enable { get; }
///
/// 效果持续生效中 [ 此项为高优先级 ] [ 此项设置为true后不允许再次释放,防止重复释放 ]
///
public bool IsInEffect { get; }
///
/// 可选取自身
///
public bool CanSelectSelf { get; }
///
/// 可选取敌对角色
///
public bool CanSelectEnemy { get; }
///
/// 可选取友方角色
///
public bool CanSelectTeammate { get; }
///
/// 可选取的作用目标数量
///
public int CanSelectTargetCount { get; }
///
/// 可选取的作用范围
///
public double CanSelectTargetRange { get; }
///
/// 实际魔法消耗 [ 魔法 ]
///
public double RealMPCost { get; }
///
/// 实际吟唱时间 [ 魔法 ]
///
public double RealCastTime { get; }
///
/// 实际能量消耗 [ 战技 ]
///
public double RealEPCost { get; }
///
/// 实际冷却时间
///
public double RealCD { get; }
///
/// 剩余冷却时间
///
public double CurrentCD { get; }
///
/// 实际硬直时间
///
public double RealHardnessTime { get; }
///
/// 获取可选择的目标列表
///
///
///
///
///
public List GetSelectableTargets(Character caster, List enemys, List teammates);
}
}