-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRS_SimpleSaveLoader.rb
109 lines (100 loc) · 3.12 KB
/
RS_SimpleSaveLoader.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#================================================================
# The MIT License
# Copyright (c) 2020 biud436
# ---------------------------------------------------------------
# Free for commercial and non commercial use.
#================================================================
#==============================================================================
# ** Simple Save Loader
# Author : biud436
# Date : 2015.04.08
# Version : 1.0
#==============================================================================
# ** Terms of Use
#==============================================================================
# Free for commercial and non-commercial use
#==============================================================================
$imported = {} if $imported.nil?
$imported["RS_SimpleSaveLoader"] = true
=begin
Code by : 러닝은빛(biud436)
Version : 1.1 (2015.04.08)
=end
module View
Image = {:LOAD => "Book",:SAVE => "Gates",}
end
module DataManager
def self.savefile_max
return 3
end
def self.make_save_header
header = {}
header[:characters] = $game_party.characters_for_savefile
header[:playtime_s] = $game_system.playtime_s
header[:map_name] = $data_mapinfos[$game_map.map_id].name
header
end
end
class Window_SaveFile < Window_Base
def initialize(height, index)
super(0, index * height, Graphics.width-200, height)
self.y -= 70
@file_index = index
window_setting
refresh
@selected = false
end
def window_setting
self.x = 100
self.padding = 12
self.padding_bottom = 0
self.opacity = 0
self.back_opacity = 0
self.contents_opacity = 255
end
def refresh
contents.clear
change_color(normal_color)
name = Vocab::File + " #{@file_index + 1}"
draw_text(4, 0, 200, line_height, name)
@name_width = text_size(name).width
draw_party_characters(52, 58)
draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
draw_mapname(0, contents.height - line_height, contents.width - 4, 2)
end
def draw_mapname(x,y,width,align)
header = DataManager.load_header(@file_index)
return unless header
draw_text(x, y - 24, width, line_height,header[:map_name],align)
end
end
class Scene_File < Scene_MenuBase
alias sp_create_savefile_viewport create_savefile_viewport
def create_savefile_viewport
sp_create_savefile_viewport
@savefile_viewport.z = 3
@help_window.opacity = 0
@help_window.contents_opacity = 0
end
end
module InitSprite
def sprite_create(type)
@sprite = Sprite.new
@sprite.z = 2
@sprite.bitmap = Cache.title1(View::Image[type])
end
def sprite_dispose
@sprite.bitmap.dispose
@sprite.dispose
end
end
class Scene_Load < Scene_File
include InitSprite
def start; super; sprite_create(:LOAD) end
def terminate; super; sprite_dispose end
end
class Scene_Save < Scene_File
include InitSprite
def start; super; sprite_create(:SAVE) end
def terminate; super; sprite_dispose end
end