First commit
This commit is contained in:
		@@ -0,0 +1,74 @@
 | 
			
		||||
local activeWindow
 | 
			
		||||
 | 
			
		||||
function init()
 | 
			
		||||
  g_ui.importStyle('itemselector')
 | 
			
		||||
 | 
			
		||||
  connect(g_game, { onGameEnd = destroyWindow })
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function terminate()
 | 
			
		||||
  disconnect(g_game, { onGameEnd = destroyWindow })
 | 
			
		||||
 | 
			
		||||
  destroyWindow()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function destroyWindow()
 | 
			
		||||
  if activeWindow then
 | 
			
		||||
    activeWindow:destroy()
 | 
			
		||||
    activeWindow = nil
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function show(itemWidget)
 | 
			
		||||
  if not itemWidget then
 | 
			
		||||
    return
 | 
			
		||||
  end
 | 
			
		||||
  if activeWindow then
 | 
			
		||||
    destroyWindow()
 | 
			
		||||
  end
 | 
			
		||||
  local window = g_ui.createWidget('ItemSelectorWindow', rootWidget)
 | 
			
		||||
  
 | 
			
		||||
  local destroy = function()
 | 
			
		||||
    window:destroy()
 | 
			
		||||
    if window == activeWindow then
 | 
			
		||||
      activeWindow = nil
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
  local doneFunc = function()
 | 
			
		||||
    itemWidget:setItem(Item.create(window.item:getItemId(), window.item:getItemCount()))
 | 
			
		||||
    destroy()
 | 
			
		||||
  end
 | 
			
		||||
  local clearFunc = function()
 | 
			
		||||
    window.item:setItemId(0)
 | 
			
		||||
    window.item:setItemCount(0)
 | 
			
		||||
    doneFunc()
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  window.clearButton.onClick = clearFunc
 | 
			
		||||
  window.okButton.onClick = doneFunc
 | 
			
		||||
  window.cancelButton.onClick = destroy
 | 
			
		||||
  window.onEnter = doneFunc
 | 
			
		||||
  window.onEscape = destroy
 | 
			
		||||
  
 | 
			
		||||
  window.item:setItem(Item.create(itemWidget:getItemId(), itemWidget:getItemCount()))
 | 
			
		||||
  
 | 
			
		||||
  window.itemId:setValue(itemWidget:getItemId())
 | 
			
		||||
  if itemWidget:getItemCount() > 1 then
 | 
			
		||||
    window.itemCount:setValue(itemWidget:getItemCount())
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  window.itemId.onValueChange = function(widget, value)
 | 
			
		||||
    window.item:setItemId(value)
 | 
			
		||||
  end
 | 
			
		||||
  window.itemCount.onValueChange = function(widget, value)
 | 
			
		||||
    window.item:setItemCount(value)
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  activeWindow = window
 | 
			
		||||
  activeWindow:raise()
 | 
			
		||||
  activeWindow:focus()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function hide()
 | 
			
		||||
  destroyWindow()
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user