#============================================================================== # ■ VXAce-RGSS3-34 解体屋[シーン] by Claimh #============================================================================== #============================================================================== # ■ Scene_Dismantle #============================================================================== class Scene_Dismantle < Scene_MenuBase include Dismantle::MesCmd #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- def start super create_help_window create_gold_window create_cmd_window create_list_window create_item_window create_num_window create_mes_window # @cmd_window.help_window = @list_window @item_window.help_window = @help_window @list_window.help_window = @item_window @num_window.help_window = @item_window @item_window.set_item(nil) end #-------------------------------------------------------------------------- # ● ゴールドウィンドウの作成 #-------------------------------------------------------------------------- def create_gold_window @gold_window = Window_Gold.new @gold_window.viewport = @viewport @gold_window.x = Graphics.width - @gold_window.width @gold_window.y = @help_window.height end #-------------------------------------------------------------------------- # ● コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_cmd_window @cmd_window = Window_DismantleCmd.new(@help_window.height, Graphics.width - @gold_window.width) @cmd_window.viewport = @viewport @cmd_window.set_handler(:ok, method(:on_cmd_ok)) @cmd_window.set_handler(:cancel, method(:return_scene)) end #-------------------------------------------------------------------------- # ● コマンドウィンドウ 選択 #-------------------------------------------------------------------------- def on_cmd_ok @cmd_window.exit_cmd? ? return_scene : @list_window.activate.reselect end #-------------------------------------------------------------------------- # ● リストウィンドウの作成 #-------------------------------------------------------------------------- def create_list_window @list_window = Window_DismantleList.new(@help_window.height + @cmd_window.height) @list_window.viewport = @viewport @list_window.set_handler(:ok, method(:on_list_ok)) @list_window.set_handler(:buzzer, method(:on_list_buzzer)) @list_window.set_handler(:cancel, method(:on_list_cancel)) end #-------------------------------------------------------------------------- # ● リストウィンドウ 選択 #-------------------------------------------------------------------------- def on_list_ok @num_window.show.activate.set(@list_window.data) end #-------------------------------------------------------------------------- # ● リストウィンドウ ブザー #-------------------------------------------------------------------------- def on_list_buzzer return if @list_window.data.nil? @mes_window.set_text(@list_window.data.message, @list_window.data.obj) end #-------------------------------------------------------------------------- # ● リストウィンドウ キャンセル #-------------------------------------------------------------------------- def on_list_cancel @cmd_window.activate @help_window.set_text("") @item_window.set_item(nil) @list_window.remember end #-------------------------------------------------------------------------- # ● アイテムウィンドウの作成 #-------------------------------------------------------------------------- def create_item_window @item_window = Window_DismantleItems.new(@list_window.width, @list_window.y) @item_window.viewport = @viewport end #-------------------------------------------------------------------------- # ● Numberウィンドウの作成 #-------------------------------------------------------------------------- def create_num_window @num_window = Window_DismantleNumber.new(@list_window.width) @num_window.viewport = @viewport @num_window.set_handler(:ok, method(:on_num_ok)) @num_window.set_handler(:cancel, method(:on_num_cancel)) end #-------------------------------------------------------------------------- # ● Numberウィンドウ 選択 #-------------------------------------------------------------------------- def on_num_ok @mes_window.set_text(M_S_C, @list_window.data.obj) @num_window.hide.deactivate @list_window.activate.dismantle(@num_window.number) @gold_window.refresh end #-------------------------------------------------------------------------- # ● Numberウィンドウ キャンセル #-------------------------------------------------------------------------- def on_num_cancel @num_window.hide.deactivate @item_window.set_num(1) @list_window.activate end #-------------------------------------------------------------------------- # ● メッセージウィンドウの作成 #-------------------------------------------------------------------------- def create_mes_window @mes_window = Window_DismantleCation.new(@list_window.y + 50) @mes_window.viewport = @viewport end end