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 3.8 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. return BecomeInvisible(character);
  20. case ActiveSkillType.UseKnife:
  21. return UseKnife(character);
  22. case ActiveSkillType.Howl:
  23. return Howl(character);
  24. case ActiveSkillType.CanBeginToCharge:
  25. return CanBeginToCharge(character);
  26. case ActiveSkillType.Inspire:
  27. return Inspire(character);
  28. case ActiveSkillType.Encourage:
  29. return Encourage(character);
  30. case ActiveSkillType.Punish:
  31. return Punish(character);
  32. case ActiveSkillType.JumpyBomb:
  33. return JumpyBomb(character);
  34. case ActiveSkillType.WriteAnswers:
  35. return WriteAnswers(character);
  36. case ActiveSkillType.SummonGolem:
  37. return SummonGolem(character);
  38. case ActiveSkillType.UseRobot:
  39. return UseRobot(character);
  40. case ActiveSkillType.Rouse:
  41. return Rouse(character);
  42. case ActiveSkillType.ShowTime:
  43. return ShowTime(character);
  44. default:
  45. return false;
  46. }
  47. return false;
  48. }
  49. public void UsePassiveSkill(Character character, PassiveSkillType passiveSkillType)
  50. {
  51. if (character.Occupation.ListOfIPassiveSkill.Contains(passiveSkillType))
  52. switch (passiveSkillType)
  53. {
  54. case PassiveSkillType.Meditate:
  55. Meditate(character);
  56. break;
  57. default:
  58. return;
  59. }
  60. return;
  61. }
  62. public void UseAllPassiveSkill(Character character)
  63. {
  64. foreach (var passiveSkill in character.Occupation.ListOfIPassiveSkill)
  65. switch (passiveSkill)
  66. {
  67. case PassiveSkillType.Meditate:
  68. Meditate(character);
  69. break;
  70. default:
  71. return;
  72. }
  73. }
  74. private readonly Map gameMap;
  75. private readonly CharacterManager characterManager;
  76. private readonly ActionManager actionManager;
  77. private readonly AttackManager attackManager;
  78. private readonly PropManager propManager;
  79. public SkillManager(Map gameMap, ActionManager action, AttackManager attack, PropManager prop, CharacterManager characterManager)
  80. {
  81. this.gameMap = gameMap;
  82. this.actionManager = action;
  83. this.propManager = prop;
  84. this.attackManager = attack;
  85. this.characterManager = characterManager;
  86. }
  87. }
  88. }
  89. }