local H=game:GetService("\072\116\116\112\083\101\114\118\105\099\101")local W={}W.__index=W function W.new()local A={id=H:GenerateGUID(false);artId=nil;ownerUserId=nil,onArtChanged=nil}setmetatable(A,W)return A end function W.applyArt(A,H,W)A.artId=W A.ownerUserId=H.UserId if A.onArtChanged then A.onArtChanged(A.artId,A.ownerUserId)end end
--[[
	Keeps track of a single spot on a surface canvas. Manages the art item on a single spot, and
	the owner of the art item.
]]
local HttpService = game:GetService("HttpService")

local Spot = {}
Spot.__index = Spot

function Spot.new()
	local self = {
		id = HttpService:GenerateGUID(false),

		-- ID of the applied art
		artId = nil,

		ownerUserId = nil,

		-- Event to fire as a callback whenever the art on this spot changes.
		onArtChanged = nil,
	}

	setmetatable(self, Spot)

	return self
end

function Spot:applyArt(player, artId)
	self.artId = artId
	self.ownerUserId = player.UserId

	if self.onArtChanged then
		self.onArtChanged(self.artId, self.ownerUserId)
	end
end
