#============================================================================== # ¦ Window_Listequete #------------------------------------------------------------------------------ # Fenêtre de la liste des quetes # Version Date Auteur Commentaires # 1.00 12/09/2007 Tonyryu Création # #============================================================================== class Window_Listequete < Window_Selectable #-------------------------------------------------------------------------- # ? initialize #-------------------------------------------------------------------------- def initialize super(20, 60, 240, 145) self.contents = Bitmap.new(width - 32, height - 32) self.back_opacity = 0 self.opacity = 0 self.contents.font.name = $fontface self.contents.font.size = 16
self.active = false self.index = -1 @column_max = 1 refresh end #-------------------------------------------------------------------------- # ? refresh #-------------------------------------------------------------------------- def refresh(etat_quete = 1) if self.contents != nil self.contents.dispose self.contents = nil end @tab_quete = [] # Parcourir la liste des quete en cours $pokemon_party.tab_quete.each_key { |id_quete_party| # Si la quete est en cours if $pokemon_party.tab_quete[id_quete_party][0] == etat_quete #@tab_quete.push(id_quete_party) @tab_quete.insert(0,id_quete_party) end } @item_max = @tab_quete.size if @item_max > 0 self.contents = Bitmap.new(width - 32, row_max * 20 -3) self.contents.font.name = $fontface self.contents.font.size = 16 self.contents.font.color = Color.new(0,0,0,255)
@tab_quete.sort! for i in 0...@tab_quete.size id_quete_party = @tab_quete[i] # Afficher le nom de la quete self.contents.draw_text(16, (i * 20) - 4, 250, 20, $data_quete.tab_def_quete[id_quete_party]["nom"]) end end
#-------------------------------------------------------------------------- # ? nb_quete #-------------------------------------------------------------------------- def nb_quete() return @tab_quete.size end #-------------------------------------------------------------------------- # ? id_quete #-------------------------------------------------------------------------- def id_quete() return @tab_quete[@index] end end #-------------------------------------------------------------------------- # ? update_cursor_rect # - Permet de modifier la position du rectangle de sélection à chaque cycle #-------------------------------------------------------------------------- def update_cursor_rect
# Si l'index de focus est inferieur à 0 if @index < 0 # Alors effacer le rectangle de sélection self.cursor_rect.empty else # Sinon afficher le rectangle à la position du focus self.cursor_rect.set(0, -4 + (20 * @index), 20, 20) end end end
|