using Milimoe.FunGame.Core.Api.Utility; 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 int 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); } }