Added scripts
This commit is contained in:
parent
d40ae86ba4
commit
5118df09f4
106 changed files with 15680 additions and 0 deletions
91
scripts/Window_SaveFile.rb
Normal file
91
scripts/Window_SaveFile.rb
Normal file
|
@ -0,0 +1,91 @@
|
|||
#==============================================================================
|
||||
# ** Window_SaveFile
|
||||
#------------------------------------------------------------------------------
|
||||
# This window displays save files on the save and load screens.
|
||||
#==============================================================================
|
||||
|
||||
class Window_SaveFile < Window_Base
|
||||
#--------------------------------------------------------------------------
|
||||
# * Public Instance Variables
|
||||
#--------------------------------------------------------------------------
|
||||
attr_reader :filename # file name
|
||||
attr_reader :selected # selected
|
||||
#--------------------------------------------------------------------------
|
||||
# * Object Initialization
|
||||
# file_index : save file index (0-3)
|
||||
# filename : file name
|
||||
#--------------------------------------------------------------------------
|
||||
def initialize(file_index, filename)
|
||||
super(0, 64 + file_index % 4 * 104, 640, 104)
|
||||
self.contents = Bitmap.new(width - 32, height - 32)
|
||||
@file_index = file_index
|
||||
@filename = "Save#{@file_index + 1}.rxdata"
|
||||
@time_stamp = Time.at(0)
|
||||
@file_exist = FileTest.exist?(@filename)
|
||||
if @file_exist
|
||||
file = File.open(@filename, "r")
|
||||
@time_stamp = file.mtime
|
||||
@characters = Marshal.load(file)
|
||||
@frame_count = Marshal.load(file)
|
||||
@game_system = Marshal.load(file)
|
||||
@game_switches = Marshal.load(file)
|
||||
@game_variables = Marshal.load(file)
|
||||
@total_sec = @frame_count / Graphics.frame_rate
|
||||
file.close
|
||||
end
|
||||
refresh
|
||||
@selected = false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Refresh
|
||||
#--------------------------------------------------------------------------
|
||||
def refresh
|
||||
self.contents.clear
|
||||
# Draw file number
|
||||
self.contents.font.color = normal_color
|
||||
name = "File#{@file_index + 1}"
|
||||
self.contents.draw_text(4, 0, 600, 32, name)
|
||||
@name_width = contents.text_size(name).width
|
||||
# If save file exists
|
||||
if @file_exist
|
||||
# Draw character
|
||||
for i in 0...@characters.size
|
||||
bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
|
||||
cw = bitmap.rect.width / 4
|
||||
ch = bitmap.rect.height / 4
|
||||
src_rect = Rect.new(0, 0, cw, ch)
|
||||
x = 300 - @characters.size * 32 + i * 64 - cw / 2
|
||||
self.contents.blt(x, 68 - ch, bitmap, src_rect)
|
||||
end
|
||||
# Draw play time
|
||||
hour = @total_sec / 60 / 60
|
||||
min = @total_sec / 60 % 60
|
||||
sec = @total_sec % 60
|
||||
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
|
||||
self.contents.font.color = normal_color
|
||||
self.contents.draw_text(4, 8, 600, 32, time_string, 2)
|
||||
# Draw timestamp
|
||||
self.contents.font.color = normal_color
|
||||
time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
|
||||
self.contents.draw_text(4, 40, 600, 32, time_string, 2)
|
||||
end
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Set Selected
|
||||
# selected : new selected (true = selected, false = unselected)
|
||||
#--------------------------------------------------------------------------
|
||||
def selected=(selected)
|
||||
@selected = selected
|
||||
update_cursor_rect
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Cursor Rectangle Update
|
||||
#--------------------------------------------------------------------------
|
||||
def update_cursor_rect
|
||||
if @selected
|
||||
self.cursor_rect.set(0, 0, @name_width + 8, 32)
|
||||
else
|
||||
self.cursor_rect.empty
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue