2024-10-24 01:13:51 +08:00

155 lines
6.2 KiB
C#

using Milimoe.FunGame.Core.Entity;
using Milimoe.FunGame.Core.Library.Constant;
using Oshima.FunGame.OshimaModules.Items;
using Oshima.FunGame.OshimaModules.OpenEffects;
using Oshima.FunGame.OshimaModules.Skills;
namespace Oshima.FunGame.OshimaModules
{
public class EntityFactory
{
public static Skill? GetSkill(long id, SkillType type)
{
if (type == SkillType.Magic)
{
switch ((MagicID)id)
{
case MagicID.:
return new ();
}
}
if (type == SkillType.Skill)
{
switch ((SkillID)id)
{
case SkillID.:
return new ();
}
}
if (type == SkillType.SuperSkill)
{
switch ((SuperSkillID)id)
{
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
case SuperSkillID.:
return new ();
}
}
if (type == SkillType.Passive)
{
switch ((PassiveID)id)
{
case PassiveID.META马:
return new META马();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
case PassiveID.:
return new ();
}
switch ((ItemPassiveID)id)
{
case ItemPassiveID.:
return new ();
}
}
return null;
}
public static Item? GetItem(long id, ItemType type)
{
if (type == ItemType.MagicCardPack)
{
}
if (type == ItemType.Accessory)
{
switch ((AccessoryID)id)
{
case AccessoryID.10:
return new 10();
case AccessoryID.30:
return new 30();
case AccessoryID.50:
return new 50();
}
}
return null;
}
public static Effect? GetEffect(long id, Skill skill, Character? source = null, Item? item = null)
{
return (EffectID)id switch
{
EffectID.ExATK => new ExATK(skill, source, item),
EffectID.ExDEF => new ExDEF(skill, source, item),
EffectID.ExSTR => new ExSTR(skill, source, item),
EffectID.ExAGI => new ExAGI(skill, source, item),
EffectID.ExINT => new ExINT(skill, source, item),
EffectID.SkillHardTimeReduce => new SkillHardTimeReduce(skill, source, item),
EffectID.NormalAttackHardTimeReduce => new NormalAttackHardTimeReduce(skill, source, item),
EffectID.AccelerationCoefficient => new AccelerationCoefficient(skill, source, item),
EffectID.ExSPD => new ExSPD(skill, source, item),
EffectID.ExActionCoefficient => new ExActionCoefficient(skill, source, item),
EffectID.ExCDR => new ExCDR(skill, source, item),
EffectID.ExMaxHP => new ExMaxHP(skill, source, item),
EffectID.ExMaxMP => new ExMaxMP(skill, source, item),
EffectID.ExCritRate => new ExCritRate(skill, source, item),
EffectID.ExCritDMG => new ExCritDMG(skill, source, item),
EffectID.ExEvadeRate => new ExEvadeRate(skill, source, item),
EffectID.PhysicalPenetration => new PhysicalPenetration(skill, source, item),
EffectID.MagicalPenetration => new MagicalPenetration(skill, source, item),
EffectID.ExPDR => new ExPDR(skill, source, item),
EffectID.ExMDF => new ExMDF(skill, source, item),
EffectID.ExHR => new ExHR(skill, source, item),
EffectID.ExMR => new ExMR(skill, source, item),
_ => null
};
}
}
}