NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Buff/BuffFactory.cs

238 lines
11 KiB
C#

using cfg.BuffCfg;
using Gameplay.Pool;
namespace Gameplay.Buff
{
public static class BuffFactory
{
public static BaseBuff CreateBuff(EBuffType buffType)
{
BaseBuff buff = null;
switch (buffType)
{
case EBuffType.NormalDamage:
buff = ObjPoolManager.instance.Get<NormalDamageBuff>();
break;
case EBuffType.MoraleDamage:
buff = ObjPoolManager.instance.Get<MoraleDamageBuff>();
break;
case EBuffType.AutoRecoverMorale:
buff = ObjPoolManager.instance.Get<AutoRecoverMoraleBuff>();
break;
case EBuffType.AddMorale:
buff = ObjPoolManager.instance.Get<AddMoraleBuff>();
break;
case EBuffType.AddShield:
buff = ObjPoolManager.instance.Get<AddShieldBuff>();
break;
case EBuffType.BulletDamage1:
buff = ObjPoolManager.instance.Get<BuffBulletDamage1>();
break;
case EBuffType.BulletDamage2:
buff = ObjPoolManager.instance.Get<BuffBulletDamage2>();
break;
case EBuffType.BulletDamage3:
buff = ObjPoolManager.instance.Get<BuffBulletDamage3>();
break;
case EBuffType.ShowEffect:
buff = ObjPoolManager.instance.Get<BuffCreateEffect>();
break;
case EBuffType.ChangeProp:
buff = ObjPoolManager.instance.Get<BuffChangeProp>();
break;
case EBuffType.LoopRecoverMorale:
buff = ObjPoolManager.instance.Get<BuffLoopAddMorale>();
break;
case EBuffType.Chaos:
buff = ObjPoolManager.instance.Get<StatusBuffChaos>();
break;
case EBuffType.Stun:
buff = ObjPoolManager.instance.Get<StatusBuffStun>();
break;
case EBuffType.LockPos:
buff = ObjPoolManager.instance.Get<StatusBuffLockPos>();
break;
case EBuffType.Retreat:
buff = ObjPoolManager.instance.Get<StatusBuffRetreat>();
break;
case EBuffType.NoRetreat:
buff = ObjPoolManager.instance.Get<StatusBuffNoRetreat>();
break;
case EBuffType.FillBullet:
buff = ObjPoolManager.instance.Get<BuffFillBullet>();
break;
case EBuffType.ClearDBuff:
buff = ObjPoolManager.instance.Get<BuffClearDBuff>();
break;
case EBuffType.ClearPBuff:
buff = ObjPoolManager.instance.Get<BuffClearPBuff>();
break;
case EBuffType.ClearSBuff:
buff = ObjPoolManager.instance.Get<BuffClearSBuff>();
break;
case EBuffType.StandTriggerBuff:
buff = ObjPoolManager.instance.Get<BuffStandTrigger>();
break;
case EBuffType.LoopRecoverShiled:
buff = ObjPoolManager.instance.Get<BuffLoopAddShiled>();
break;
case EBuffType.AddMoreleFromSkill:
buff = ObjPoolManager.instance.Get<SkillBuffAddMorale>();
break;
case EBuffType.AddSelfSideBuff:
buff = ObjPoolManager.instance.Get<BuffAddSelfSideBuff>();
break;
case EBuffType.RemoveSelfSideBuff:
buff = ObjPoolManager.instance.Get<BuffRemoveSelfSideBuff>();
break;
case EBuffType.SpecialYaLiShuaiJian:
buff = ObjPoolManager.instance.Get<BuffSpecialYaLiShuaiJian>();
break;
case EBuffType.FixDamage:
buff = ObjPoolManager.instance.Get<BuffFixDamage>();
break;
case EBuffType.AddFixShield:
buff = ObjPoolManager.instance.Get<BuffAddFixShield>();
break;
case EBuffType.ReadyAreaModify:
buff = ObjPoolManager.instance.Get<BuffChangeReadyArea>();
break;
case EBuffType.NormalAttackExtMoraleDamage:
buff = ObjPoolManager.instance.Get<BuffExtMoraleDamage>();
break;
case EBuffType.BulletMoraleDamage:
buff = ObjPoolManager.instance.Get<BuffBulletMoraleDamage>();
break;
case EBuffType.EmitBulletToSelfCell:
buff = ObjPoolManager.instance.Get<BuffEmitBulletToSelfCell>();
break;
case EBuffType.RecoverHp:
buff = ObjPoolManager.instance.Get<BuffRecoverHp>();
break;
case EBuffType.Pretent:
buff = ObjPoolManager.instance.Get<StatusBuffPretent>();
break;
case EBuffType.ChangeMoveLevel:
buff = ObjPoolManager.instance.Get<BuffChangeMoveLevel>();
break;
case EBuffType.BulletDamage4:
buff = ObjPoolManager.instance.Get<BuffBulletDamage4>();
break;
case EBuffType.BulletDamage5:
buff = ObjPoolManager.instance.Get<BuffBulletDamage5>();
break;
case EBuffType.BulletDamage6:
buff = ObjPoolManager.instance.Get<BuffBulletDamage6>();
break;
case EBuffType.NoCostBullet:
buff = ObjPoolManager.instance.Get<BuffNoCostBullet>();
break;
case EBuffType.DeadRetreat:
buff = ObjPoolManager.instance.Get<BuffDeadRetreat>();
break;
case EBuffType.ChangeAttackLogic:
buff = ObjPoolManager.instance.Get<BuffChangeAttackLogic>();
break;
case EBuffType.SetAttackDistance:
buff = ObjPoolManager.instance.Get<BuffSetSpecialAttackDistance>();
break;
case EBuffType.AddDamageOnNormalAttack:
buff = ObjPoolManager.instance.Get<BuffAddDamageOnNormalAttack>();
break;
case EBuffType.BulletDamage7:
buff = ObjPoolManager.instance.Get<BuffBulletDamage7>();
break;
case EBuffType.BulletDamage8:
buff = ObjPoolManager.instance.Get<BuffBulletDamage8>();
break;
case EBuffType.BulletDamage9:
buff = ObjPoolManager.instance.Get<BuffBulletDamage9>();
break;
case EBuffType.BulletDamage10:
buff = ObjPoolManager.instance.Get<BuffBulletDamage10>();
break;
case EBuffType.BulletDamage11:
buff = ObjPoolManager.instance.Get<BuffBulletDamage11>();
break;
case EBuffType.BulletDamage12:
buff = ObjPoolManager.instance.Get<BuffBulletDamage12>();
break;
case EBuffType.BulletDamage13:
buff = ObjPoolManager.instance.Get<BuffBulletDamage13>();
break;
case EBuffType.BulletDamage14:
buff = ObjPoolManager.instance.Get<BuffBulletDamage14>();
break;
case EBuffType.SetContinueNormalAttack:
buff = ObjPoolManager.instance.Get<BuffSetContinueNormalAttack>();
break;
case EBuffType.DisableRecoverMorale:
buff = ObjPoolManager.instance.Get<BuffDisableAutoRecoverMorale>();
break;
case EBuffType.HoldFlag:
buff = ObjPoolManager.instance.Get<BuffHoldFlag>();
break;
case EBuffType.DisableAttack:
buff = ObjPoolManager.instance.Get<StatusBuffDisableAttack>();
break;
case EBuffType.RandomAddBuff:
buff = ObjPoolManager.instance.Get<BuffRandomAddBuff>();
break;
case EBuffType.LightUpOnce:
buff = ObjPoolManager.instance.Get<BuffLightUpOnce>();
break;
case EBuffType.LightUpContinue:
buff = ObjPoolManager.instance.Get<BuffLightUpDuring>();
break;
case EBuffType.ReduceSkillCD:
buff = ObjPoolManager.instance.Get<BuffReduceSkillCd>();
break;
case EBuffType.ReduceSkillCDPercent:
buff = ObjPoolManager.instance.Get<BuffReduceSkillCdPercent>();
break;
case EBuffType.AddOnFriendRetreat:
buff = ObjPoolManager.instance.Get<BuffAddBuffOnFriendRetreat>();
break;
case EBuffType.SpecialAddShiled1:
buff = ObjPoolManager.instance.Get<BuffSpecialAddShield1>();
break;
case EBuffType.DownScaleOnDebuff:
buff = ObjPoolManager.instance.Get<BuffSetBeHitScaleOnDebuffChange>();
break;
case EBuffType.DelayDamage:
buff = ObjPoolManager.instance.Get<BuffDelayDamage>();
break;
case EBuffType.SpecialAddMorale1:
buff = ObjPoolManager.instance.Get<BuffSpecialAddMorale1>();
break;
case EBuffType.MoraleDamagePercent:
buff = ObjPoolManager.instance.Get<BuffMoraleDamagePercent>();
break;
case EBuffType.AvoidBuffs:
buff = ObjPoolManager.instance.Get<BuffAvoidBuff>();
break;
case EBuffType.EmitBulletToTargetEnemy:
buff = ObjPoolManager.instance.Get<BuffEmitBulletToTargetEnemy>();
break;
case EBuffType.ForceInSuppress:
buff = ObjPoolManager.instance.Get<StatusBuffForceSuppressed>();
break;
case EBuffType.DamageRedirect:
buff = ObjPoolManager.instance.Get<BuffDamageRedirect>();
break;
case EBuffType.SkipRaiseWeapon:
buff = ObjPoolManager.instance.Get<BuffSkipRaiseWeapon>();
break;
case EBuffType.MoraleDamageOnAttackAreaEnemy:
buff = ObjPoolManager.instance.Get<BuffMoraleDamageOnAttackAreaEnemy>();
break;
default:
DebugUtil.LogError("CreateBuffById: UnHandle buffType:{0}", buffType);
break;
}
return buff;
}
}
}