diff --git a/game/modules/tome/dialogs/LevelupTalentsDialog.lua b/game/modules/tome/dialogs/LevelupTalentsDialog.lua index d37f5bde7687517e457003fceafb9d7a99642387..3ada6cdd34780dcb5cf95658bfda9fd5c882b2e7 100644 --- a/game/modules/tome/dialogs/LevelupTalentsDialog.lua +++ b/game/modules/tome/dialogs/LevelupTalentsDialog.lua @@ -21,6 +21,7 @@ require "engine.class" local Dialog = require "engine.ui.Dialog" local TreeList = require "engine.ui.TreeList" local Textzone = require "engine.ui.Textzone" +local TextzoneList = require "engine.ui.TextzoneList" local Separator = require "engine.ui.Separator" module(..., package.seeall, class.inherit(Dialog)) @@ -43,7 +44,7 @@ Keyboard: #00FF00#up key/down key#FFFFFF# to select a stat; #00FF00#right key#FF Mouse: #00FF00#Left click#FFFFFF# to learn; #00FF00#right click#FFFFFF# to unlearn. ]]} self.c_points = Textzone.new{width=math.floor(self.iw / 2 - 10), height=1, auto_height=true, no_color_bleed=true, text=_points_left:format(self.actor.unused_talents_types, self.actor.unused_talents, self.actor.unused_generics)} - self.c_desc = Textzone.new{width=math.floor(self.iw / 2 - 10), height=self.ih - self.c_tut.h - 20, scrollbar=true, no_color_bleed=true, text=""} + self.c_desc = TextzoneList.new{width=math.floor(self.iw / 2 - 10), height=self.ih - self.c_tut.h - 20, scrollbar=true, no_color_bleed=true} self:generateList() @@ -258,19 +259,16 @@ function _M:onDrawItem(item) end end - if not item.zone_desc then - item.zone_desc = self.c_desc:spawn{text=table.concat(text, "\n")} - else - item.zone_desc.text = table.concat(text, "\n") - item.zone_desc:generate() - end + self.c_desc:createItem(item, table.concat(text, "\n")) end function _M:select(item) if not item or not self.uis or not self.uis[5] then return end - if self.running and not item.zone_desc then self:onDrawItem(item) end - self.uis[5].ui = item.zone_desc + if not self.c_desc:switchItem(item) then + self:onDrawItem(item) + self.c_desc:switchItem(item) + end end function _M:treeSelect(item, sel, v) @@ -286,6 +284,7 @@ function _M:treeSelect(item, sel, v) if it then self.c_tree:drawItem(it) end end end + self.c_desc:switchItem(item) self.c_tree:outputList() self.c_points.text = _points_left:format(self.actor.unused_talents_types, self.actor.unused_talents, self.actor.unused_generics)