Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. package com.model.task.impl;
  2.  
  3. import com.model.Server;
  4. import com.model.game.character.npc.NPC;
  5. import com.model.game.character.player.Player;
  6. import com.model.game.character.player.content.clicking.npc.NpcInteraction;
  7. import com.model.game.location.Position;
  8. import com.model.task.ScheduledTask;
  9.  
  10. /**
  11. * Handles walking towards npcs
  12. *
  13. * @author Patrick van Elderen
  14. *
  15. */
  16. public class WalkToNpcTask extends ScheduledTask {
  17.  
  18. private final NPC npc;
  19. private final Player player;
  20. private final int clickType;
  21.  
  22. public WalkToNpcTask(Player player, NPC npc, int clickType) {
  23. super(1, false);
  24. this.npc = npc;
  25. this.player = player;
  26. this.clickType = clickType;
  27. }
  28.  
  29. @Override
  30. public void execute() {
  31.  
  32. if (player.getPosition().isWithinInteractionDistance(new Position(npc.getX(), npc.getY()))) {
  33. switch (clickType) {
  34. case 1:
  35. NpcInteraction.firstOption(player, npc);
  36. break;
  37. case 2:
  38. NpcInteraction.secondOption(player, npc);
  39. break;
  40. case 3:
  41. NpcInteraction.thirdOption(player, npc);
  42. break;
  43. case 4:
  44. NpcInteraction.fourthOption(player, npc);
  45. break;
  46. }
  47. } else {
  48. Server.getTaskScheduler().schedule(new ScheduledTask(1) {
  49. @Override
  50. public void execute() {
  51. if (!player.isActive()) {
  52. stop();
  53. return;
  54. }
  55. if (npc != null) {
  56. switch (clickType) {
  57. case 1:
  58. NpcInteraction.firstOption(player, npc);
  59. break;
  60. case 2:
  61. NpcInteraction.secondOption(player, npc);
  62. break;
  63. case 3:
  64. NpcInteraction.thirdOption(player, npc);
  65. break;
  66. case 4:
  67. NpcInteraction.fourthOption(player, npc);
  68. break;
  69. }
  70. }
  71. }
  72. });
  73. }
  74. player.setFollowing(null);
  75. player.face(player, npc.getPosition());
  76. npc.face(npc, player.getPosition());
  77. this.stop();
  78. }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement