# ==============================================================================
#                      ~ Pauza podczas gry ~
#                       Data publikacji: 18.09.2009
#             Autor: Rokan [http://kaisouryouiki.web.fc2.com]
#               Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
#          Zapraszam na stronę UltimaForum - http://www.ultimateam.pl
# ==============================================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# ==============================================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# --------------------------- POCZĄTEK SKRYPTU ---------------------------------
module TT  
# ---------------------------- POCZĄTEK EDYCJI ---------------------------------  
  
  # Poniżej można ustawić przycisk włączający pauzę. Domyślnie 'Z' na klawiaturze 
  # to 'D', aby zobaczyć wykaz przycisków w teście gry wciśnij F1 i przejdź do 
  # zakładki 'Keyboard'.
  PRZYCISK = Input::Z
  
  # Przełącznik umożliwiający wyłączenie opcji pauzowania. ON - pauza dostępna
  # OFF - pauza niedostępna
  PRZELACZNIK = 10
  
  # Nazwa obrazka, który pojawia się podczas pauzy. Plik należy umieścić
  # w folderze Graphics/System. Optymalne parametry - 544 x 416 px; format - PNG
  NAZWA_OBRAZKA = "pauza"
  
  
# ----------------------------- KONIEC EDYCJI ----------------------------------  
end

# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^--------------------
class Scene_Map < Scene_Base  
  #--------------------------------------------------------------------------
  # Główne przetwarzanie
  #--------------------------------------------------------------------------
  def main
    start                         
    perform_transition            
    post_start                    
    Input.update                  
    loop do
      Graphics.update             
      Input.update unless @stop
      @stop ? stop_update : update
      break if $scene != self     
    end
    Graphics.update
    pre_terminate                 
    Graphics.freeze               
    terminate                     
  end
  #--------------------------------------------------------------------------
  # Start
  #--------------------------------------------------------------------------
  alias stop_reset start unless $!
  def start
    stop_reset
    @stop = false
  end
  #--------------------------------------------------------------------------
  # Włączenie pauzy
  #--------------------------------------------------------------------------
  alias stop_in? update unless $!
  def update
    if Input.trigger?(TT::PRZYCISK) && $game_switches[TT::PRZELACZNIK]
      Sound.play_decision
      snapshot_for_background
      create_menu_background
      create_map_background
      @stop = true
      return
    end
    stop_in?
  end
  #--------------------------------------------------------------------------
  # Wyłączenie pauzy 
  #--------------------------------------------------------------------------
  def stop_update
    Input.update
    if Input.trigger?(TT::PRZYCISK)
      Sound.play_decision 
      dispose_menu_background
      @stopback_sprite.dispose
      @stop = false
    end
  end
  #--------------------------------------------------------------------------
  # Tworzenie tła
  #--------------------------------------------------------------------------
  def create_map_background
    @stopback_sprite = Sprite.new
    @stopback_sprite.z = 300
    @stopback_sprite.bitmap = Cache.system(TT::NAZWA_OBRAZKA)
  end 
end
# --------------------------- KONIEC SKRYPTU -----------------------------------