Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Dax Mouse Update
- #==============================================================================
- # Autor: Dax
- # Versão: 0.6
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Atualização do Mouse do Dax Core, permitindo a integração do mouse com o menu,
- # e a criação facilitada de integração do mouse.
- #==============================================================================
- Dax.register(:mouse_system_update, "Dax", 0.6) {
- #==============================================================================
- # • Window Selectable
- #==============================================================================
- class Window_Selectable < Window_Base
- #----------------------------------------------------------------------------
- # • Definição de controle de confirmação e cancelamento
- #----------------------------------------------------------------------------
- def process_handling
- return unless open? && active
- return process_ok if ok_enabled? && trigger?(:C) or trigger?(0x01)
- return process_cancel if cancel_enabled? && trigger?(:B) or trigger?(0x02)
- return process_pagedown if handle?(:pagedown) && Input.trigger?(:R)
- return process_pageup if handle?(:pageup) && Input.trigger?(:L)
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- alias :mouse_update_core :update
- def update(*args, &block)
- mouse_update_core(*args, &block)
- update_mouse if self.active && self.visible
- end
- #----------------------------------------------------------------------------
- # • Atualização do mouse.
- #----------------------------------------------------------------------------
- def update_mouse
- old_index = @index
- rect_cursors = Array.new
- add_x, add_y = self.x + 16 - self.ox, self.y + 16 - self.oy
- unless self.viewport.nil?
- add_x += self.viewport.rect.x - self.viewport.ox
- add_y += self.viewport.rect.y - self.viewport.oy
- end
- self.item_max.times { |i|
- @index = i
- update_mouse_cursor
- rect_cursors << cursor_rect.dup
- }
- @index = old_index
- 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))}
- update_cursor
- call_update_help
- end
- #----------------------------------------------------------------------------
- # • Atualização do cursor do mouse.
- #----------------------------------------------------------------------------
- def update_mouse_cursor
- if @cursor_all
- cursor_rect.set(0, 0, contents.width, row_max * item_height)
- elsif @index < 0
- cursor_rect.empty
- else
- cursor_rect.set(item_rect(@index))
- end
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment