#===============================================================
# [VX] Nazwy zdarzeń na mapie 
#--------------------------------------------------------------
# Autor: Woratana [woratana@hotmail.com]
# Tłumaczenie: Ayene [ yurika@o2.pl
#--------------------------------------------------------------
# Umieść skrypt nad Main
#=================================================================

class Sprite_Character < Sprite_Base
#=================================================================
# POCZĄTEK KONFIGURACJI    
#=================================================================

  FLOAT_NAME_SHOW_ALL = false
  # Czy chcesz, aby wyświetlały się nazwy wszystkich zdarzeń?
  # (true - tak / false - nie) 
  
  # Jeżeli wybrano u góry false, nazwę zdarzenia można wyświetlić dopisując [FS] 
  # w jego edycji...
  # np. Statek[FS]  
  FLOAT_NAME_SHOW_TAG = '[FS]'   
  
  # Jeżeli wybrano u góry true, nazwę zdarzenia można ukryć dopisując [FNS] 
  # w jego edycji...
  # np. Statek[FNS]  
  FLOAT_NAME_NOT_SHOW_TAG = '[FNS]'  
  
  # Tutaj można ukryć słowa, które mają się nie wyświetlać w nazwie zdarzenia
  # np. FLOAT_NAME_NOT_SHOW_WORDS = ['[ny]', '[ss]', 'lol']
  # Wówczas w nazwie zdarzenia nie wyświetlą się słowa [ny], [ss] i lol.
  FLOAT_NAME_NOT_SHOW_WORDS = []
  
  FLOAT_NAME_X_OFFSET = 0 # Przesunięcie nazwy zdarzenia w poziomie (+ / -)
  FLOAT_NAME_Y_OFFSET = 0 # Przesunięcie nazwy zdarzenia w pionie (+ / -)
  FLOAT_NAME_Z = 198 # Przesunięcie nazwy zdarzenia nad (+) lub pod (-) inne zdarzenia.
#=================================================================
# KONIEC KONFIGURACJI  
#=================================================================  
  alias wora_floatevn_sprcha_dis dispose
  alias wora_floatevn_sprcha_upd update
  
  def dispose
    if !@charname_box.nil? and @charname_box.is_a?(Sprite)
      @charname_box.bitmap.dispose
      @charname_box.dispose
    end
    wora_floatevn_sprcha_dis
  end
  
  def update
    wora_floatevn_sprcha_upd
    if @character.is_a?(Game_Event)
      if @charname_box.nil?
        if (FLOAT_NAME_SHOW_ALL and !@character.event.name.include?(FLOAT_NAME_NOT_SHOW_TAG)) or
        (!FLOAT_NAME_SHOW_ALL and @character.event.name.include?(FLOAT_NAME_SHOW_TAG))
          @float_charname = @character.event.name.dup
          not_show_words = FLOAT_NAME_NOT_SHOW_WORDS.clone.push FLOAT_NAME_SHOW_TAG,
        FLOAT_NAME_NOT_SHOW_TAG
          not_show_words.each {|w| @float_charname.gsub!(w) {''} }          
          @charname_box = Sprite.new
          @charname_box.z = FLOAT_NAME_Z
          bitmap = Bitmap.new(1,1)
          nsize = bitmap.text_size(@float_charname)
          bitmap.dispose
          @charname_box.bitmap = Bitmap.new(nsize.width, nsize.height)
          @charname_box.bitmap.draw_text(0, 0, nsize.width, nsize.height,
        @float_charname)
        else
          @charname_box = 0 
        end
      end
      if @charname_box.is_a?(Sprite)
        @charname_box.x = self.x - (@charname_box.width / 2) + FLOAT_NAME_X_OFFSET
        @charname_box.y = self.y - self.oy - @charname_box.height + FLOAT_NAME_Y_OFFSET
      end
    end
  end
end

class Game_Event < Game_Character
  attr_reader :event
end