Initial import
This commit is contained in:
105
Scripts/RPG/Window_DebugLeft.rb
Normal file
105
Scripts/RPG/Window_DebugLeft.rb
Normal file
@@ -0,0 +1,105 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#==============================================================================
|
||||
# ** Window_DebugLeft
|
||||
#------------------------------------------------------------------------------
|
||||
# This window designates switch and variable blocks on the debug screen.
|
||||
#==============================================================================
|
||||
|
||||
class Window_DebugLeft < Window_Selectable
|
||||
#--------------------------------------------------------------------------
|
||||
# * Class Variable
|
||||
#--------------------------------------------------------------------------
|
||||
@@last_top_row = 0 # For saving first line
|
||||
@@last_index = 0 # For saving cursor position
|
||||
#--------------------------------------------------------------------------
|
||||
# * Public Instance Variables
|
||||
#--------------------------------------------------------------------------
|
||||
attr_reader :right_window # Right window
|
||||
#--------------------------------------------------------------------------
|
||||
# * Object Initialization
|
||||
#--------------------------------------------------------------------------
|
||||
def initialize(x, y)
|
||||
super(x, y, window_width, window_height)
|
||||
refresh
|
||||
self.top_row = @@last_top_row
|
||||
select(@@last_index)
|
||||
activate
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Window Width
|
||||
#--------------------------------------------------------------------------
|
||||
def window_width
|
||||
return 164
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Window Height
|
||||
#--------------------------------------------------------------------------
|
||||
def window_height
|
||||
Graphics.height
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Number of Items
|
||||
#--------------------------------------------------------------------------
|
||||
def item_max
|
||||
@item_max || 0
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Frame Update
|
||||
#--------------------------------------------------------------------------
|
||||
def update
|
||||
super
|
||||
return unless @right_window
|
||||
@right_window.mode = mode
|
||||
@right_window.top_id = top_id
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Mode
|
||||
#--------------------------------------------------------------------------
|
||||
def mode
|
||||
index < @switch_max ? :switch : :variable
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get ID Shown on Top
|
||||
#--------------------------------------------------------------------------
|
||||
def top_id
|
||||
(index - (index < @switch_max ? 0 : @switch_max)) * 10 + 1
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Refresh
|
||||
#--------------------------------------------------------------------------
|
||||
def refresh
|
||||
@switch_max = ($data_system.switches.size - 1 + 9) / 10
|
||||
@variable_max = ($data_system.variables.size - 1 + 9) / 10
|
||||
@item_max = @switch_max + @variable_max
|
||||
create_contents
|
||||
draw_all_items
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Item
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_item(index)
|
||||
if index < @switch_max
|
||||
n = index * 10
|
||||
text = sprintf("S [%04d-%04d]", n+1, n+10)
|
||||
else
|
||||
n = (index - @switch_max) * 10
|
||||
text = sprintf("V [%04d-%04d]", n+1, n+10)
|
||||
end
|
||||
draw_text(item_rect_for_text(index), text)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Processing When Cancel Button Is Pressed
|
||||
#--------------------------------------------------------------------------
|
||||
def process_cancel
|
||||
super
|
||||
@@last_top_row = top_row
|
||||
@@last_index = index
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Set Right Window
|
||||
#--------------------------------------------------------------------------
|
||||
def right_window=(right_window)
|
||||
@right_window = right_window
|
||||
update
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user