local H=require((game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")):WaitForChild("\078\101\118\101\114\109\111\114\101"))local A=H("\082\111\116\097\116\105\110\103\067\104\097\114\097\099\116\101\114")local Q={}Q.__index=Q Q.ClassName="\082\111\116\097\116\105\110\103\067\104\097\114\097\099\116\101\114\066\117\105\108\100\101\114"function Q.new()local H=setmetatable({},Q)return H end function Q.WithTemplate(A,H)A.TextLabelTemplate=H return A end function Q.Generate(A,H)local Q=A.TextLabelTemplate or error("\077\117\115\116 \115\101\116 \084\101\120\116\076\097\098\101\108\084\101\109\112\108\097\116\101")local u=Instance.new("\070\114\097\109\101")u.Name="\082\111\116\097\116\105\110\103\067\104\097\114\097\099\116\101\114\067\111\110\116\097\105\110\101\114"u.ClipsDescendants=true u.SizeConstraint=Enum.SizeConstraint.RelativeYY u.Size=UDim2.new(1,0,1,0)u.BackgroundTransparency=Q.BackgroundTransparency u.ZIndex=Q.ZIndex u.BorderSizePixel=Q.BorderSizePixel u.BackgroundColor3=Q.BackgroundColor3 local T=Instance.new("\084\101\120\116\076\097\098\101\108")T.Name="\076\097\098\101\108"T.BackgroundTransparency=1 T.Size=UDim2.new(1,0,1,0)T.ZIndex=Q.ZIndex T.Font=Q.Font T.TextSize=Q.TextSize T.TextScaled=Q.TextScaled T.TextColor3=Q.TextColor3 T.TextTransparency=Q.TextTransparency T.TextStrokeTransparency=Q.TextStrokeTransparency T.TextXAlignment=Enum.TextXAlignment.Center T.TextYAlignment=Enum.TextYAlignment.Center T.Text=""T.Parent=u local V=u.Label:Clone()V.Name="\083\101\099\111\110\100\076\097\098\101\108"V.Position=UDim2.new(0,0,1,0)V.SizeConstraint=Enum.SizeConstraint.RelativeXY V.Parent=u.Label u.Parent=H or error("\078\111 \112\097\114\101\110\116")return A:WithGui(u)end function Q.WithGui(Q,H)Q.Gui=H or error("\078\111 \071\085\073")Q.Char=A.new(Q.Gui)return Q end function Q.WithCharacter(A,H)A.Char.TargetCharacter=H A.Char.Character=A.Char.TargetCharacter return A end function Q.Create(H)H.Char:UpdateRender()return H.Char or error("\078\111 \099\104\097\114\097\099\116\101\114 \115\112\097\119\110\101\100")end return Q
---
-- @classmod RotatingCharacterBuilder

local require = require(game:GetService("ReplicatedStorage"):WaitForChild("Nevermore"))

local RotatingCharacter = require("RotatingCharacter")

local RotatingCharacterBuilder = {}
RotatingCharacterBuilder.__index = RotatingCharacterBuilder
RotatingCharacterBuilder.ClassName = "RotatingCharacterBuilder"

function RotatingCharacterBuilder.new()
	local self = setmetatable({}, RotatingCharacterBuilder)

	return self
end

function RotatingCharacterBuilder:WithTemplate(TextLabelTemplate)
	self.TextLabelTemplate = TextLabelTemplate

	return self
end

function RotatingCharacterBuilder:Generate(Parent)
	local Template = self.TextLabelTemplate or error("Must set TextLabelTemplate")

	local Container = Instance.new("Frame")
	Container.Name = "RotatingCharacterContainer";
	Container.ClipsDescendants = true
	Container.SizeConstraint = Enum.SizeConstraint.RelativeYY
	Container.Size = UDim2.new(1, 0, 1, 0)
	Container.BackgroundTransparency = Template.BackgroundTransparency
	Container.ZIndex = Template.ZIndex
	Container.BorderSizePixel = Template.BorderSizePixel
	Container.BackgroundColor3 = Template.BackgroundColor3

	local TextLabel = Instance.new("TextLabel")
	TextLabel.Name = "Label"
	TextLabel.BackgroundTransparency = 1
	TextLabel.Size = UDim2.new(1, 0, 1, 0)
	TextLabel.ZIndex = Template.ZIndex
	TextLabel.Font = Template.Font
	TextLabel.TextSize = Template.TextSize
	TextLabel.TextScaled = Template.TextScaled
	TextLabel.TextColor3 = Template.TextColor3
	TextLabel.TextTransparency = Template.TextTransparency
	TextLabel.TextStrokeTransparency = Template.TextStrokeTransparency
	TextLabel.TextXAlignment = Enum.TextXAlignment.Center
	TextLabel.TextYAlignment = Enum.TextYAlignment.Center
	TextLabel.Text = ""

	TextLabel.Parent = Container

	local Second = Container.Label:Clone()
	Second.Name = "SecondLabel"
	Second.Position = UDim2.new(0, 0, 1, 0)
	Second.SizeConstraint = Enum.SizeConstraint.RelativeXY
	Second.Parent = Container.Label

	Container.Parent = Parent or error("No parent")

	return self:WithGui(Container)
end

function RotatingCharacterBuilder:WithGui(Gui)
	self.Gui = Gui or error("No GUI")

	self.Char = RotatingCharacter.new(self.Gui)

	return self
end

function RotatingCharacterBuilder:WithCharacter(Char)
	self.Char.TargetCharacter = Char
	self.Char.Character = self.Char.TargetCharacter

	return self
end

function RotatingCharacterBuilder:Create()
	self.Char:UpdateRender()
	return self.Char or error("No character spawned")
end

return RotatingCharacterBuilder