235 lines
11 KiB
C#
235 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;
|
|
default:
|
|
DebugUtil.LogError("CreateBuffById: UnHandle buffType:{0}", buffType);
|
|
break;
|
|
}
|
|
return buff;
|
|
}
|
|
|
|
}
|
|
}
|