Advertisement
Guest User

updatefinish.lua with week/year jumps now

a guest
May 18th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. --Alter the date which the updating region process finishes at.
  2. local gui = require 'gui'
  3. local widgets = require 'gui.widgets'
  4. local vw = df.global.gview.view.child
  5. local yr
  6. local mn
  7. local dy
  8.  
  9.  
  10. updater=defclass(updater,gui.Screen)
  11. updater.focus_path = 'updatefinish'
  12. function updater:init()
  13. self:addviews{
  14. widgets.Label{
  15. view_id="mainLabel",
  16. frame = {xalign=0,yalign=0},
  17. text={
  18. {id="cmd", text=" Left/Right: Day, Up/Down: Month, Fast: Week/Year, Enter/Esc: Stop on "},
  19. {id="yr", text=self:callback("getYear")},{text="/"}, {id="mn", text=self:callback("getMonth")},{text="/"}, {id="dy", text=self:callback("getDay")},{text=" "}}
  20. }
  21. }
  22. end
  23.  
  24. function updater:getYear()
  25. if df.viewscreen_update_regionst:is_instance(vw) then
  26. yr = vw.year
  27. else
  28. yr = df.global.cur_year
  29. end
  30. return yr
  31. end
  32.  
  33. function updater:getMonth()
  34. if df.viewscreen_update_regionst:is_instance(vw) then
  35. if vw.year_tick>=33600 then
  36. mn = math.floor(vw.year_tick/33600)+1
  37. else
  38. mn = 1
  39. end
  40. else
  41. mn = math.floor(df.global.cur_year_tick/33600)+1
  42. end
  43. return mn
  44. end
  45.  
  46. function updater:getDay()
  47. if df.viewscreen_update_regionst:is_instance(vw) then
  48. local mf = (mn-1)*28
  49. local yf = math.floor(vw.year_tick/1200)
  50. if vw.year_tick>=1200 then
  51. dy = (yf-mf)+1
  52. else
  53. dy = 1
  54. end
  55. else
  56. mf = (math.floor(df.global.cur_year_tick/33600))*28
  57. yf = math.floor(df.global.cur_year_tick/1200)
  58. dy = (yf-mf)+1
  59. end
  60. return dy
  61. end
  62.  
  63. function updater:onInput(keys)
  64. if df.viewscreen_update_regionst:is_instance(vw) then
  65. if keys.LEAVESCREEN or keys.SELECT then
  66. self:dismiss()
  67. end
  68. if keys.CURSOR_RIGHT then
  69. if vw.year_tick>=402000 then
  70. vw.year = vw.year+1
  71. vw.year_tick = 0
  72. else
  73. vw.year_tick = vw.year_tick+1200
  74. end
  75. elseif keys.CURSOR_RIGHT_FAST then
  76. if vw.year_tick>=394800 then
  77. vw.year = vw.year+1
  78. vw.year_tick = vw.year_tick-394800
  79. else
  80. vw.year_tick = vw.year_tick+8400
  81. end
  82. elseif keys.CURSOR_LEFT then
  83. if vw.year_tick<=1200 then
  84. vw.year = vw.year-1
  85. vw.year_tick = 402000
  86. else
  87. vw.year_tick = vw.year_tick-1200
  88. end
  89. elseif keys.CURSOR_LEFT_FAST then
  90. if vw.year_tick<=8400 then
  91. vw.year = vw.year-1
  92. vw.year_tick = vw.year_tick+394800
  93. else
  94. vw.year_tick = vw.year_tick-8400
  95. end
  96. elseif keys.CURSOR_UP then
  97. if vw.year_tick<=33600 then
  98. vw.year = vw.year-1
  99. vw.year_tick = 369600
  100. else
  101. vw.year_tick = vw.year_tick-33600
  102. end
  103. elseif keys.CURSOR_UP_FAST then
  104. vw.year = vw.year-1
  105. elseif keys.CURSOR_DOWN then
  106. if vw.year_tick>=369600 then
  107. vw.year = vw.year+1
  108. vw.year_tick = 0
  109. else
  110. vw.year_tick = vw.year_tick+33600
  111. end
  112. elseif keys.CURSOR_DOWN_FAST then
  113. vw.year = vw.year+1
  114. end
  115. elseif not df.viewscreen_update_regionst:is_instance(vw) then
  116. if keys then
  117. self:dismiss()
  118. qerror("This has to be used on the updating region screen!")
  119. end
  120. end
  121. self.super.onInput(self,keys)
  122. end
  123.  
  124. function updater:onRenderBody(dc)
  125. self._native.parent:render()
  126. end
  127.  
  128. updater():show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement