-- 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)
DEBUG = false
MIN_VALUE = 1
MAX_VALUE = 4

function onload(saved_data)
  self.interactable = DEBUG
  light_mode = false
  val = 0

  if saved_data ~= "" then
    local loaded_data = JSON.decode(saved_data)
    light_mode = loaded_data[1]
    val = loaded_data[2]
  end

  createAll()
end

function updateSave()
  local data_to_save = {light_mode, val}
  saved_data = JSON.encode(data_to_save)
  self.script_state = saved_data
end

function createAll()
  s_color = {0.5, 0.5, 0.5, 95}

  if light_mode then
    f_color = {1,1,1,95}
  else
    f_color = {0,0,0,100}
  end



  self.createButton({
    label=tostring(val),
    click_function="add_subtract",
    function_owner=self,
    position={0,0.05,0},
    height=600,
    width=1000,
    alignment = 3,
    scale={x=1.5, y=1.5, z=1.5},
    font_size=600,
    font_color=f_color,
    color={0,0,0,0}
  })




  if light_mode then
    lightButtonText = "[ Set dark ]"
  else
    lightButtonText = "[ Set light ]"
  end

end

function removeAll()
  self.removeInput(0)
  self.removeInput(1)
  self.removeButton(0)
  self.removeButton(1)
  self.removeButton(2)
end

function reloadAll()
  removeAll()
  createAll()

  updateSave()
end

function swap_fcolor(_obj, _color, alt_click)
  light_mode = not light_mode
  reloadAll()
end

function swap_align(_obj, _color, alt_click)
  center_mode = not center_mode
  reloadAll()
end

function editName(_obj, _string, value)
  self.setName(value)
  setTooltips()
end

function add_subtract(_obj, _color, alt_click)
  mod = alt_click and -1 or 1
  new_value = math.min(math.max(val + mod, MIN_VALUE), MAX_VALUE)
  if val ~= new_value then
    val = new_value
    updateVal()
    updateSave()
  end
end

function updateVal()

  self.editButton({
    index = 0,
    label = tostring(val),

  })
end

function reset_val()
  val = 0
  updateVal()
  updateSave()
end

function setTooltips()
  self.editInput({
    index = 0,
    value = self.getName(),
    tooltip = ttText
  })
  self.editButton({
    index = 0,
    value = tostring(val),
    tooltip = ttText
  })
end

function null()
end

function keepSample(_obj, _string, value)
  reloadAll()
end
end)
return __bundle_require("__root")