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

131 lines
No EOL
5.4 KiB
Ruby

#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#  ゲーム中の全てのウィンドウのスーパークラスです。
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ○ スキン画像変更
#--------------------------------------------------------------------------
def skin_change(flag)
if flag
self.windowskin = Cache.system("Window_b")
else
self.windowskin = Cache.system("Window")
end
end
end
#==============================================================================
# ■ Window_Message
#------------------------------------------------------------------------------
#  文章表示に使うメッセージウィンドウです。
#==============================================================================
class Window_Message < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias skin_change_initialize initialize
def initialize
skin_change_initialize
skin_change($game_system.skin_change_flag)
end
end
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  システム周りのデータを扱うクラスです。セーブやメニューの禁止状態などを保存
# します。このクラスのインスタンスは $game_system で参照されます。
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :skin_change_flag #
attr_accessor :skin_change #
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias event_skin_initialize initialize
def initialize
event_skin_initialize
skin_flag_reset
end
#--------------------------------------------------------------------------
# ○ スキンフラグリセット
#--------------------------------------------------------------------------
def skin_flag_reset
@skin_change_flag = false
@skin_change = false
end
#--------------------------------------------------------------------------
# ○ エッチイベントON
#--------------------------------------------------------------------------
alias event_skin_h_on h_on
def h_on
event_skin_h_on
@skin_change_flag = true
@skin_change = true
end
#--------------------------------------------------------------------------
# ○ エッチイベントOFF
#--------------------------------------------------------------------------
alias event_skin_h_off h_off
def h_off
event_skin_h_off
@skin_change_flag = false if !$game_switches[FAKEREAL::EVENT_RUNNING]
@skin_change = true if !$game_switches[FAKEREAL::EVENT_RUNNING]
end
end
#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias event_skin_update update
def update
event_skin_update
window_skin_change if $game_system.skin_change && !$game_message.visible
end
#--------------------------------------------------------------------------
# ○
#--------------------------------------------------------------------------
def window_skin_change
@message_window.skin_change($game_system.skin_change_flag)
$game_system.skin_change = false
end
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ○ EV開始
#--------------------------------------------------------------------------
def event_on
$game_system.skin_change_flag = true
$game_system.skin_change = true
end
#--------------------------------------------------------------------------
# ○ EV終了
#--------------------------------------------------------------------------
def event_off
$game_system.skin_change_flag = false
$game_system.skin_change = true
end
end