-- 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/ActiveInvestigatorCounter") end) __bundle_register("core/ActiveInvestigatorCounter", function(require, _LOADED, __bundle_register, __bundle_modules) require("core/GenericCounter") MIN_VALUE = 1 MAX_VALUE = 4 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 and savedData ~= "" then val = JSON.decode(savedData) end local name = self.getName() local position = { 0, 0.06, 0 } -- set position of label depending on object 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 } elseif name == "Elder Sign Counter" or name == "Auto-fail Counter" then position = { 0, 0.1, 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 } }) -- add context menu entries 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")