MapleMapTimer.java
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:2k
源码类别:

游戏

开发平台:

Java

  1. package net.sf.odinms.server.maps;
  2. import net.sf.odinms.client.MapleClient;
  3. import net.sf.odinms.net.MaplePacket;
  4. import net.sf.odinms.tools.MaplePacketCreator;
  5. import java.util.Calendar;
  6. import java.util.concurrent.ScheduledFuture;
  7. public class MapleMapTimer {
  8. private int duration;
  9. private Calendar startTime;
  10. private Calendar predictedStopTime;
  11. private int mapToWarpTo = -1;
  12. private int minLevelToWarp = 0;
  13. private int maxLevelToWarp = 256;
  14. private ScheduledFuture<?> sf0F;
  15. public MapleMapTimer(ScheduledFuture<?> sfO, int newDuration, int mapToWarpToP, int minLevelToWarpP, int maxLevelToWarpP) {
  16. this.duration = newDuration;
  17. this.startTime = Calendar.getInstance();
  18. this.predictedStopTime = Calendar.getInstance();
  19. this.predictedStopTime.add(Calendar.SECOND, duration);
  20. this.mapToWarpTo = mapToWarpToP;
  21. this.minLevelToWarp = minLevelToWarpP;
  22. this.maxLevelToWarp = maxLevelToWarpP;
  23. this.sf0F = sfO;
  24. }
  25. public MaplePacket makeSpawnData() {
  26. int timeLeft;
  27. long StopTimeStamp = this.predictedStopTime.getTimeInMillis();
  28. long CurrentTimeStamp = Calendar.getInstance().getTimeInMillis();
  29. timeLeft =(int) (StopTimeStamp - CurrentTimeStamp) / 1000;
  30. return MaplePacketCreator.getClock(timeLeft);
  31. }
  32. public void sendSpawnData(MapleClient c) {
  33. c.getSession().write(makeSpawnData());
  34. }
  35. public ScheduledFuture<?> getSF0F() {
  36. return sf0F;
  37. }
  38. public int warpToMap() {
  39. return this.mapToWarpTo;
  40. }
  41. public int minLevelToWarp() {
  42. return this.minLevelToWarp;
  43. }
  44. public int maxLevelToWarp() {
  45. return this.maxLevelToWarp;
  46. }
  47. public int getTimeLeft() {
  48. int timeLeft;
  49. long StopTimeStamp = predictedStopTime.getTimeInMillis();
  50. long CurrentTimeStamp = Calendar.getInstance().getTimeInMillis();
  51. timeLeft =(int) (StopTimeStamp - CurrentTimeStamp) / 1000;
  52. return timeLeft;
  53. }
  54. }