diff options
Diffstat (limited to 'scripts/gui/siege-engine.lua')
| -rw-r--r-- | scripts/gui/siege-engine.lua | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/scripts/gui/siege-engine.lua b/scripts/gui/siege-engine.lua index 47043cbb..c98cb167 100644 --- a/scripts/gui/siege-engine.lua +++ b/scripts/gui/siege-engine.lua @@ -21,6 +21,7 @@ local item_choices = { { caption = 'trap components', item_type = df.item_type.TRAPCOMP }, { caption = 'bins', item_type = df.item_type.BIN }, { caption = 'barrels', item_type = df.item_type.BARREL }, + { caption = 'cages', item_type = df.item_type.CAGE }, { caption = 'anything', item_type = -1 }, } @@ -33,30 +34,29 @@ SiegeEngine = defclass(SiegeEngine, guidm.MenuOverlay) SiegeEngine.focus_path = 'siege-engine' -function SiegeEngine:init(building) - self:init_fields{ - building = building, - center = utils.getBuildingCenter(building), +SiegeEngine.ATTRS{ building = DEFAULT_NIL } + +function SiegeEngine:init() + self:assign{ + center = utils.getBuildingCenter(self.building), selected_pile = 1, + mode_main = { + render = self:callback 'onRenderBody_main', + input = self:callback 'onInput_main', + }, + mode_aim = { + render = self:callback 'onRenderBody_aim', + input = self:callback 'onInput_aim', + }, + mode_pile = { + render = self:callback 'onRenderBody_pile', + input = self:callback 'onInput_pile', + } } - guidm.MenuOverlay.init(self) - self.mode_main = { - render = self:callback 'onRenderBody_main', - input = self:callback 'onInput_main', - } - self.mode_aim = { - render = self:callback 'onRenderBody_aim', - input = self:callback 'onInput_aim', - } - self.mode_pile = { - render = self:callback 'onRenderBody_pile', - input = self:callback 'onInput_pile', - } - return self end function SiegeEngine:onShow() - guidm.MenuOverlay.onShow(self) + SiegeEngine.super.onShow(self) self.old_cursor = guidm.getCursorPos() self.old_viewport = self:getViewport() @@ -486,5 +486,5 @@ if not df.building_siegeenginest:is_instance(building) then qerror("A siege engine must be selected") end -local list = mkinstance(SiegeEngine):init(df.global.world.selected_building) +local list = SiegeEngine{ building = building } list:show() |
