You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using Preparation.Interface;
- using Preparation.Utility;
-
- namespace GameClass.GameObj
- {
- public class BecomeVampire : IActiveSkill // 化身吸血鬼
- {
- public int SkillCD => GameData.commonSkillCD / 3 * 4;
- public int DurationTime => GameData.commonSkillTime;
-
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
- public class CanBeginToCharge : IActiveSkill
- {
- public int SkillCD => GameData.commonSkillCD / 5;
- public int DurationTime => GameData.commonSkillTime / 10 * 6;
-
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public class BecomeInvisible : IActiveSkill
- {
- public int SkillCD => GameData.commonSkillCD;
- public int DurationTime => GameData.commonSkillTime / 10 * 6;
-
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public class NuclearWeapon : IActiveSkill // 核武器
- {
- public int SkillCD => GameData.commonSkillCD / 3 * 7;
- public int DurationTime => GameData.commonSkillTime / 10;
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public class UseKnife : IActiveSkill
- {
- public int SkillCD => GameData.commonSkillCD / 3 * 2;
- public int DurationTime => GameData.commonSkillTime / 10;
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public class SuperFast : IActiveSkill // 3倍速
- {
- public int SkillCD => GameData.commonSkillCD;
- public int DurationTime => GameData.commonSkillTime / 10 * 4;
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public class NullSkill : IActiveSkill
- {
- public int SkillCD => GameData.commonSkillCD;
- public int DurationTime => GameData.commonSkillTime;
- private readonly object commonSkillLock = new object();
- public object ActiveSkillLock => commonSkillLock;
- }
-
- public static class SkillFactory
- {
- public static IActiveSkill FindIActiveSkill(ActiveSkillType activeSkillType)
- {
- switch (activeSkillType)
- {
- case ActiveSkillType.BecomeInvisible:
- return new BecomeInvisible();
- case ActiveSkillType.UseKnife:
- return new UseKnife();
- default:
- return new NullSkill();
- }
- }
-
- public static ActiveSkillType FindActiveSkillType(IActiveSkill ActiveSkill)
- {
- switch (ActiveSkill)
- {
- case BecomeInvisible:
- return ActiveSkillType.BecomeInvisible;
- case UseKnife:
- return ActiveSkillType.UseKnife;
- case CanBeginToCharge:
- return ActiveSkillType.CanBeginToCharge;
- default:
- return ActiveSkillType.Null;
- }
- }
- }
- }
|