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.5 kB

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