Advertisement
Zeriab

[RGSS3] Switch toggable map gold window

Jun 10th, 2017
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.34 KB | None | 0 0
  1. class Scene_Map < Scene_Base
  2.   # Switch for opening/closing the gold window
  3.   GOLD_WINDOW_SWITCH = 12
  4.  
  5.   ##
  6.   # Aliases
  7.   #
  8.   alias_method :zeriab_gold_create_all_windows, :create_all_windows
  9.   def create_all_windows
  10.     zeriab_gold_create_all_windows
  11.     create_gold_window
  12.   end
  13.  
  14.   alias_method :zeriab_gold_update_scene, :update_scene
  15.   def update_scene
  16.     zeriab_gold_update_scene
  17.     update_gold_window
  18.   end
  19.  
  20.   ##
  21.   # Creation
  22.   #
  23.   def create_gold_window
  24.     @gold_hover_window = Window_Gold.new
  25.     @gold_hover_window.x = Graphics.width - @gold_hover_window.width
  26.     @gold_hover_window.y = 0
  27.     @gold_hover_window.openness = 0
  28.     @gold_hover_open = $game_switches[GOLD_WINDOW_SWITCH]
  29.     @gold_hover_window.open if @gold_hover_open
  30.   end
  31.  
  32.   ##
  33.   # Update open state
  34.   #
  35.   def update_gold_window
  36.     if @gold_hover_open != $game_switches[GOLD_WINDOW_SWITCH]
  37.       @gold_hover_open = $game_switches[GOLD_WINDOW_SWITCH]
  38.       if @gold_hover_open
  39.         @gold_hover_window.open
  40.       else
  41.         @gold_hover_window.close
  42.       end
  43.       @gold_hover_window.update
  44.     end
  45.   end  
  46. end
  47.  
  48. ##
  49. # Ensure the window updates on gold change
  50. #
  51. class Window_Gold < Window_Base
  52.   def update
  53.     super
  54.     @old_value ||= value
  55.     if @old_value != value
  56.       @old_value = value
  57.       refresh
  58.     end
  59.   end
  60. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement