---- Public Functions
-- Set

function StringLabel:SetText(text)
	waitForUpdate(self)
	
	self._textLabel.Text = text
end

function StringLabel:SetSize(size)
	waitForUpdate(self)
	
	self._textLabel.Size = size
end

function StringLabel:SetPosition(position)
	waitForUpdate(self)
	
	self._textLabel.Position = position
end

function StringLabel:SetFont(font)
	waitForUpdate(self)
	
	for _, label in pairs(self._characterLabels) do
		label.Font = font
	end
end

function StringLabel:SetTextColor(color)
	waitForUpdate(self)
	
	for _, label in pairs(self._characterLabels) do
		label.TextColor3 = color
	end
end

function StringLabel:SetTextTransparency(transparency)
	waitForUpdate(self)
	
	for _, label in pairs(self._characterLabels) do
		label.TextTransparency = transparency
	end
end

function StringLabel:SetRotation(rotation)
	waitForUpdate(self)
	
	for _, label in pairs(self._characterLabels) do
		label.Rotation = rotation
	end
end

function StringLabel:SetCharacterFont(index, font)
	waitForUpdate(self)
	
	local label = self._characterLabels[index]
	if label then
		label.Font = font
	end
end

function StringLabel:SetCharacterTextColor(index, color)
	waitForUpdate(self)
	
	local label = self._characterLabels[index]
	if label then
		label.TextColor3 = color
	end
end

function StringLabel:SetCharacterTextTransparency(index, transparency)
	waitForUpdate(self)
	
	local label = self._characterLabels[index]
	if label then
		label.TextTransparency = transparency
	end
end

function StringLabel:SetCharacterRotation(index, rotation)
	waitForUpdate(self)
	
	local label = self._characterLabels[index]
	if label then
		label.Rotation = rotation
	end
end
