--[[
	Manager for a single player's spots.
]]

local Cryo = require(script.Parent.Parent.Packages.Cryo)
local constants = require(script.Parent.Parent.Constants)

local PlayerSpots = {}
PlayerSpots.__index = PlayerSpots

function PlayerSpots.new(quota)
	if not quota then
		warn("Invalid player quota passed:", quota)
	end

	local self = {
		-- Table of { canvas, spot, createdAt } that a player has placed surface art in
		placedSpots = {},

		-- Maximum number of artwork that we can place for a player
		quota = quota,

		-- Index of spot to remove if player exceeds quota - this is set during spot assignment
		toRemove = nil,
	}

	setmetatable(self, PlayerSpots)

	return self
end
