|
using UnityEngine;
|
|
|
public static class SkillFactory
|
{
|
// SkillType
|
// 技能类型 定义
|
// 特殊 0
|
// 攻击类 1 主动会造成瞬间伤害技能类型为1
|
// 恢复类 2 主动会恢复生命值的技能类型为2
|
// 持续增益BUFF 3 主动一段时间内间隔时间给予增益buff技能类型为3,比如持续回血
|
// 持续减益BUFF 4 主动一段时间内间隔时间给予减益buff技能类型为4,比如中毒
|
// 增益BUFF 5 主动持续一段时间给予增益buff,不会出现间隔时间buff类型为5,比如麒麟盾
|
// 减益BUFF 6 主动持续一段时间给予减益buff,不会出现间隔时间buff类型为6,比如减速
|
// 被动技 7 被动触发的技能类型为7
|
// 复活 8 牧师复活队友技能,暂时无用
|
// 增值技能(不可清除)9 和增益技能类似,无法点击图标取消,暂时无用
|
// 光环技能 10 队友共享该技能的光环,类似魔兽争霸的强击光环,荆棘光环,暂时无这样技能
|
// 装备技能 11 装备上附加了技能,比如套装附加攻击+50%,暂时无这样技能
|
// 区域技能 12 "布怪器里 有个配置技能ID 比如配个火区域灼烧
|
// "
|
// 召唤 13 主动召唤出一个怪物,则配置为13,暂时无这样的技能
|
// 控制型BUFF 14 比如眩晕,定身技能需要配置控制型buff
|
// 多段伤害buff攻击类型(类xp技能) 15 多段伤害主动每秒伤害buff技能类型为15
|
// 被动触发增益类buff 16 被动触发持续一段时间给予增益buff,不会出现间隔时间buff类型为16,如(50065疾风)
|
// 被动触发减益类buff 17 被动触发持续一段时间给予减益buff,不会出现间隔时间buff类型为17,如(50235负伤)
|
// 被动触发的控制类buff 18 被动触发持续一段时间的控制技能为17,如(50365激怒)
|
// 属性类技能 20(如坐骑属性,宠物属性) 被动增加了属性效果值,长期的技能为20,如(50605守护)
|
// 被动buff 19(暂时不知道干啥的)
|
// 被动触发持续类增益类buff 21 被动一段时间内间隔时间给予增益buff技能类型为3,比如(50635祝福)
|
// 被动触发持续类减益类buff 22 被动一段时间内间隔时间给予减益buff技能类型为4,比如毒龙嗜天
|
|
|
// 攻击技能:本回合对敌人武将造成伤害
|
// 治疗技能:本回合对已方武将回复生命值,回复生命值不可超过生命上限
|
// 辅助技能:增加怒气、召唤、光环等
|
// BUFF技能:提升已方属性的增益BUFF(加攻、加血、加状态等),降低敌方属性的减益BUFF(减攻、减血、控制等),持续多回合
|
// 复活技能:复活已方已死武将并回复X生命值,复活:继承死亡前的所有状态(各种状态、各种BUFF、怒气值等),复活后错过本回合攻击时机则下一回合才能出手
|
|
|
|
public static SkillBase CreateSkill(SkillConfig _skillConfig)
|
{
|
SkillBase skill = null;
|
switch (_skillConfig.SkillType)
|
{
|
case 1:
|
skill = new DirectlyDamageSkill(_skillConfig);
|
break;
|
case 2:
|
// skill = new DirectlyHealSkill(_skillConfig);
|
break;
|
case 3:
|
// skill = new SupportSkill(_skillConfig);
|
break;
|
case 4:
|
// skill = new MountBuffSkill(_skillConfig);
|
break;
|
case 5:
|
// skill = new ReviveSkill(_skillConfig);
|
break;
|
default:
|
Debug.LogError("超出了技能类型范围 请检查配置");
|
break;
|
}
|
|
return skill;
|
}
|
}
|