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.

SkillManager.cs 4.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System;
  2. using Preparation.Utility;
  3. using GameClass.GameObj;
  4. using System.Reflection;
  5. using GameEngine;
  6. namespace Gaming
  7. {
  8. public partial class Game
  9. {
  10. readonly SkillManager skillManager;
  11. private partial class SkillManager
  12. {
  13. public bool UseActiveSkill(Character character, ActiveSkillType activeSkillType)
  14. {
  15. if (character.Occupation.ListOfIActiveSkill.Contains(activeSkillType))
  16. switch (activeSkillType)
  17. {
  18. case ActiveSkillType.BecomeInvisible:
  19. BecomeInvisible(character);
  20. break;
  21. case ActiveSkillType.UseKnife:
  22. UseKnife(character);
  23. break;
  24. case ActiveSkillType.Howl:
  25. Howl(character);
  26. break;
  27. case ActiveSkillType.CanBeginToCharge:
  28. CanBeginToCharge(character);
  29. break;
  30. case ActiveSkillType.Inspire:
  31. Inspire(character);
  32. break;
  33. case ActiveSkillType.Encourage:
  34. Encourage(character);
  35. break;
  36. case ActiveSkillType.Punish:
  37. Punish(character);
  38. break;
  39. case ActiveSkillType.JumpyBomb:
  40. JumpyBomb(character);
  41. break;
  42. case ActiveSkillType.WriteAnswers:
  43. WriteAnswers(character);
  44. break;
  45. case ActiveSkillType.SummonGolem:
  46. SummonGolem(character);
  47. break;
  48. case ActiveSkillType.UseRobot:
  49. UseRobot(character);
  50. break;
  51. case ActiveSkillType.Rouse:
  52. Rouse(character);
  53. break;
  54. case ActiveSkillType.ShowTime:
  55. ShowTime(character);
  56. break;
  57. default:
  58. return false;
  59. }
  60. return false;
  61. }
  62. public void UsePassiveSkill(Character character, PassiveSkillType passiveSkillType)
  63. {
  64. if (character.Occupation.ListOfIPassiveSkill.Contains(passiveSkillType))
  65. switch (passiveSkillType)
  66. {
  67. case PassiveSkillType.Meditate:
  68. Meditate(character);
  69. break;
  70. default:
  71. return;
  72. }
  73. return;
  74. }
  75. public void UseAllPassiveSkill(Character character)
  76. {
  77. foreach (var passiveSkill in character.Occupation.ListOfIPassiveSkill)
  78. switch (passiveSkill)
  79. {
  80. case PassiveSkillType.Meditate:
  81. Meditate(character);
  82. break;
  83. default:
  84. return;
  85. }
  86. }
  87. private readonly Map gameMap;
  88. private readonly CharacterManager characterManager;
  89. private readonly ActionManager actionManager;
  90. private readonly AttackManager attackManager;
  91. private readonly PropManager propManager;
  92. public SkillManager(Map gameMap, ActionManager action, AttackManager attack, PropManager prop, CharacterManager characterManager)
  93. {
  94. this.gameMap = gameMap;
  95. this.actionManager = action;
  96. this.propManager = prop;
  97. this.attackManager = attack;
  98. this.characterManager = characterManager;
  99. }
  100. }
  101. }
  102. }