local p=require(script.Parent.Signal)local m={}m.__index=m function m.new(O,j)return setmetatable({_value=O;_to=j;AnimationFinished=p.new()},m)end function m.Start(p)p._value:Change(p._to)p.AnimationFinished:Fire()end return m
--[[
	A "prepare" step.
	Exposes the same API as Animation/AnimationSequence, but instantly completes its goal.
]]

local Signal = require(script.Parent.Signal)

local PrepareStep = {}
PrepareStep.__index = PrepareStep

function PrepareStep.new(value, to)
	return setmetatable({
		_value = value,
		_to = to,
		AnimationFinished = Signal.new(),
	}, PrepareStep)
end

--[[
	"Starts" the step, instantly changing the value to the specified new value.
]]
function PrepareStep:Start()
	self._value:Change(self._to)
	self.AnimationFinished:Fire()
end

return PrepareStep