lunariafantasia/Scripts/Window_KeyItem.rb
2024-01-12 03:12:38 -06:00

55 lines
2 KiB
Ruby

#==============================================================================
# ■ Window_KeyItem
#------------------------------------------------------------------------------
#  イベントコマンド[アイテム選択の処理]に使用するウィンドウです。
#==============================================================================
class Window_KeyItem < Window_ItemList
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(message_window)
@message_window = message_window
super(0, 0, Graphics.width, fitting_height(4))
self.openness = 0
deactivate
set_handler(:ok, method(:on_ok))
set_handler(:cancel, method(:on_cancel))
end
#--------------------------------------------------------------------------
# ● 入力処理の開始
#--------------------------------------------------------------------------
def start
self.category = :key_item
update_placement
refresh
select(0)
open
activate
end
#--------------------------------------------------------------------------
# ● ウィンドウ位置の更新
#--------------------------------------------------------------------------
def update_placement
if @message_window.y >= Graphics.height / 2
self.y = 0
else
self.y = Graphics.height - height
end
end
#--------------------------------------------------------------------------
# ● 決定時の処理
#--------------------------------------------------------------------------
def on_ok
result = item ? item.id : 0
$game_variables[$game_message.item_choice_variable_id] = result
close
end
#--------------------------------------------------------------------------
# ● キャンセル時の処理
#--------------------------------------------------------------------------
def on_cancel
$game_variables[$game_message.item_choice_variable_id] = 0
close
end
end