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(); break; case EBuffType.MoraleDamage: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AutoRecoverMorale: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddMorale: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddShield: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage1: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage2: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage3: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ShowEffect: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ChangeProp: buff = ObjPoolManager.instance.Get(); break; case EBuffType.LoopRecoverMorale: buff = ObjPoolManager.instance.Get(); break; case EBuffType.Chaos: buff = ObjPoolManager.instance.Get(); break; case EBuffType.Stun: buff = ObjPoolManager.instance.Get(); break; case EBuffType.LockPos: buff = ObjPoolManager.instance.Get(); break; case EBuffType.Retreat: buff = ObjPoolManager.instance.Get(); break; case EBuffType.NoRetreat: buff = ObjPoolManager.instance.Get(); break; case EBuffType.FillBullet: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ClearDBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ClearPBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ClearSBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.StandTriggerBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.LoopRecoverShiled: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddMoreleFromSkill: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddSelfSideBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.RemoveSelfSideBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SpecialYaLiShuaiJian: buff = ObjPoolManager.instance.Get(); break; case EBuffType.FixDamage: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddFixShield: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ReadyAreaModify: buff = ObjPoolManager.instance.Get(); break; case EBuffType.NormalAttackExtMoraleDamage: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletMoraleDamage: buff = ObjPoolManager.instance.Get(); break; case EBuffType.EmitBulletToSelfCell: buff = ObjPoolManager.instance.Get(); break; case EBuffType.RecoverHp: buff = ObjPoolManager.instance.Get(); break; case EBuffType.Pretent: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ChangeMoveLevel: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage4: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage5: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage6: buff = ObjPoolManager.instance.Get(); break; case EBuffType.NoCostBullet: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DeadRetreat: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ChangeAttackLogic: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SetAttackDistance: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddDamageOnNormalAttack: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage7: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage8: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage9: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage10: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage11: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage12: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage13: buff = ObjPoolManager.instance.Get(); break; case EBuffType.BulletDamage14: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SetContinueNormalAttack: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DisableRecoverMorale: buff = ObjPoolManager.instance.Get(); break; case EBuffType.HoldFlag: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DisableAttack: buff = ObjPoolManager.instance.Get(); break; case EBuffType.RandomAddBuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.LightUpOnce: buff = ObjPoolManager.instance.Get(); break; case EBuffType.LightUpContinue: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ReduceSkillCD: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ReduceSkillCDPercent: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AddOnFriendRetreat: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SpecialAddShiled1: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DownScaleOnDebuff: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DelayDamage: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SpecialAddMorale1: buff = ObjPoolManager.instance.Get(); break; case EBuffType.MoraleDamagePercent: buff = ObjPoolManager.instance.Get(); break; case EBuffType.AvoidBuffs: buff = ObjPoolManager.instance.Get(); break; case EBuffType.EmitBulletToTargetEnemy: buff = ObjPoolManager.instance.Get(); break; case EBuffType.ForceInSuppress: buff = ObjPoolManager.instance.Get(); break; case EBuffType.DamageRedirect: buff = ObjPoolManager.instance.Get(); break; case EBuffType.SkipRaiseWeapon: buff = ObjPoolManager.instance.Get(); break; default: DebugUtil.LogError("CreateBuffById: UnHandle buffType:{0}", buffType); break; } return buff; } } }