-- Bundled by luabundle {"version":"1.6.0"}
local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire)
	local loadingPlaceholder = {[{}] = true}

	local register
	local modules = {}

	local require
	local loaded = {}

	register = function(name, body)
		if not modules[name] then
			modules[name] = body
		end
	end

	require = function(name)
		local loadedModule = loaded[name]

		if loadedModule then
			if loadedModule == loadingPlaceholder then
				return nil
			end
		else
			if not modules[name] then
				if not superRequire then
					local identifier = type(name) == 'string' and '\"' .. name .. '\"' or tostring(name)
					error('Tried to require ' .. identifier .. ', but no such module has been registered')
				else
					return superRequire(name)
				end
			end

			loaded[name] = loadingPlaceholder
			loadedModule = modules[name](require, loaded, register, modules)
			loaded[name] = loadedModule
		end

		return loadedModule
	end

	return require, loaded, register, modules
end)(nil)
__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules)
require("core/GenericCounter")
end)
__bundle_register("core/GenericCounter", function(require, _LOADED, __bundle_register, __bundle_modules)
MIN_VALUE = 0
MAX_VALUE = 99
val = 0

function onSave() return JSON.encode(val) end

function onLoad(savedData)
  if savedData ~= nil then
    val = JSON.decode(savedData)
  end

  local name = self.getName()
  local position = {}

  if name == "Damage" or name == "Resources" or name == "Resource Counter" then
    position = { 0, 0.06, 0.1 }
  elseif name == "Horror" then
    position = { -0.025, 0.06, -0.025 }
  else
    position = { 0, 0.06, 0 }
  end

  self.createButton({
    label = tostring(val),
    click_function = "addOrSubtract",
    function_owner = self,
    position = position,
    height = 600,
    width = 1000,
    scale = { 1.5, 1.5, 1.5 },
    font_size = 600,
    font_color = { 1, 1, 1, 100 },
    color = { 0, 0, 0, 0 }
  })

  self.addContextMenuItem("Add 5", function() updateVal(val + 5) end)
  self.addContextMenuItem("Subtract 5", function() updateVal(val - 5) end)
  self.addContextMenuItem("Add 10", function() updateVal(val + 10) end)
  self.addContextMenuItem("Subtract 10", function() updateVal(val - 10) end)
end

function updateVal(newVal)
  if tonumber(newVal) then
    val = math.min(math.max(newVal, MIN_VALUE), MAX_VALUE)
    self.editButton({ index = 0, label = tostring(val) })
  end
end

function addOrSubtract(_, _, isRightClick)
  val = math.min(math.max(val + (isRightClick and -1 or 1), MIN_VALUE), MAX_VALUE)
  self.editButton({ index = 0, label = tostring(val) })
end
end)
return __bundle_require("__root")