DaxSoft

Add-on Mouse Core 0.6

Apr 13th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. #==============================================================================
  2. # • Dax Mouse Update
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 0.6
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Atualização do Mouse do Dax Core, permitindo a integração do mouse com o menu,
  12. # e a criação facilitada de integração do mouse.
  13. #==============================================================================
  14. Dax.register(:mouse_system_update, "Dax", 0.6) {
  15. #==============================================================================
  16. # • Window Selectable
  17. #==============================================================================
  18. class Window_Selectable < Window_Base
  19. #----------------------------------------------------------------------------
  20. # • Definição de controle de confirmação e cancelamento
  21. #----------------------------------------------------------------------------
  22. def process_handling
  23. return unless open? && active
  24. return process_ok if ok_enabled? && trigger?(:C) or trigger?(0x01)
  25. return process_cancel if cancel_enabled? && trigger?(:B) or trigger?(0x02)
  26. return process_pagedown if handle?(:pagedown) && Input.trigger?(:R)
  27. return process_pageup if handle?(:pageup) && Input.trigger?(:L)
  28. end
  29. #----------------------------------------------------------------------------
  30. # • Atualização dos objetos.
  31. #----------------------------------------------------------------------------
  32. alias :mouse_update_core :update
  33. def update(*args, &block)
  34. mouse_update_core(*args, &block)
  35. update_mouse if self.active && self.visible
  36. end
  37. #----------------------------------------------------------------------------
  38. # • Atualização do mouse.
  39. #----------------------------------------------------------------------------
  40. def update_mouse
  41. old_index = @index
  42. rect_cursors = Array.new
  43. add_x, add_y = self.x + 16 - self.ox, self.y + 16 - self.oy
  44. unless self.viewport.nil?
  45. add_x += self.viewport.rect.x - self.viewport.ox
  46. add_y += self.viewport.rect.y - self.viewport.oy
  47. end
  48. self.item_max.times { |i|
  49. @index = i
  50. update_mouse_cursor
  51. rect_cursors << cursor_rect.dup
  52. }
  53. @index = old_index
  54. rect_cursors.each_with_index { |rect, _index| @index = _index if Mouse.in_area?(Rect.new(rect.x + add_x, rect.y + add_y, rect.width, rect.height))}
  55. update_cursor
  56. call_update_help
  57. end
  58. #----------------------------------------------------------------------------
  59. # • Atualização do cursor do mouse.
  60. #----------------------------------------------------------------------------
  61. def update_mouse_cursor
  62. if @cursor_all
  63. cursor_rect.set(0, 0, contents.width, row_max * item_height)
  64. elsif @index < 0
  65. cursor_rect.empty
  66. else
  67. cursor_rect.set(item_rect(@index))
  68. end
  69. end
  70. end
  71. }
Advertisement
Add Comment
Please, Sign In to add comment