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.

Occupation.cs 2.0 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using GameClass.GameObj;
  2. using Preparation.Utility;
  3. using System.Collections.Generic;
  4. namespace GameClass.Skill
  5. {
  6. public interface IOccupation
  7. {
  8. public int MoveSpeed { get; }
  9. public int MaxHp { get; }
  10. public BulletType InitBullet { get; }
  11. public int CD { get; }
  12. public int MaxBulletNum { get; }
  13. public List<IActiveSkill> ListOfIActiveSkill { get; }
  14. public List<IPassiveSkill> ListOfIPassiveSkill { get; }
  15. }
  16. public interface IGhost : IOccupation
  17. {
  18. }
  19. public interface IStudent : IOccupation
  20. {
  21. public int FixSpeed { get; }
  22. }
  23. public class Assassin : IGhost
  24. {
  25. private const int moveSpeed = GameData.basicMoveSpeed / 380 * 473;
  26. public int MoveSpeed => moveSpeed;
  27. private const int maxHp = GameData.basicHp;
  28. public int MaxHp => maxHp;
  29. public const int cd = 0;
  30. public int CD => cd;
  31. public const int maxBulletNum = 1;
  32. public int MaxBulletNum => maxBulletNum;
  33. public BulletType InitBullet => BulletType.CommonAttackOfGhost;
  34. public List<IActiveSkill> ListOfIActiveSkill => new(new IActiveSkill[] { new BecomeInvisible(), new UseKnife() });
  35. public List<IPassiveSkill> ListOfIPassiveSkill => new(new IPassiveSkill[] { });
  36. }
  37. public class Athlete : IStudent
  38. {
  39. private const int moveSpeed = GameData.basicMoveSpeed;
  40. public int MoveSpeed => moveSpeed;
  41. private const int maxHp = GameData.basicHp;
  42. public int MaxHp => maxHp;
  43. public const int cd = 0;
  44. public int CD => cd;
  45. public const int maxBulletNum = 1;
  46. public int MaxBulletNum => maxBulletNum;
  47. public BulletType InitBullet => BulletType.CommonAttackOfGhost;
  48. public List<IActiveSkill> ListOfIActiveSkill => new(new IActiveSkill[] { new BeginToCharge() });
  49. public List<IPassiveSkill> ListOfIPassiveSkill => new(new IPassiveSkill[] { });
  50. public int FixSpeed => GameData.basicFixSpeed;
  51. }
  52. }