function _Confetti.Update(f,N)if f.Enabled and f.OutOfBounds then f.Position=Vector2.new(0,0)f.Power=Vector2.new((f.EmitterPower.X+math.random(10))-5,(f.EmitterPower.Y+math.random(10))-5)f.Cycles=f.Cycles+1 end if not f.Enabled and f.OutOfBounds or not f.Enabled and f.Cycles==0 then f.Label.Visible=false f.OutOfBounds=true return else f.Label.Visible=true end local z,j,t=f.EmitterPosition,f.Position,f.Power local R=f.Label if R then local N=Vector2.new(j.X-t.X,j.Y-t.Y)local Y=Vector2.new(t.X/1.09-gravity.X,t.Y/1.1-gravity.Y)local e=Camera.ViewportSize R.Position=UDim2.new(z.X,N.X,z.Y,N.Y)f.OutOfBounds=R.AbsolutePosition.X>e.X and gravity.X>0 or R.AbsolutePosition.Y>e.Y and gravity.Y>0 or R.AbsolutePosition.X<0 and gravity.X<0 or R.AbsolutePosition.Y<0 and gravity.Y<0 f.Position,f.Power=N,Y if Y.Y<0 then if f.Size<=0 then f.Side=1 end if f.Size>=f.DefaultSize then f.Side=-1 end f.Size=f.Size+f.Side*2 R.Size=UDim2.new(0,f.DefaultSize,0,f.Size)end end end
-- Update the position of the confetti.
function _Confetti:Update(paramDeltaTime)
	if self.Enabled and self.OutOfBounds then
		--self.Label.ImageColor3 = self.Color;
		self.Position = Vector2.new(0, 0)
		self.Power = Vector2.new(self.EmitterPower.X + math.random(10) - 5, self.EmitterPower.Y + math.random(10) - 5)
		self.Cycles = self.Cycles + 1
	end
	if (not self.Enabled and self.OutOfBounds) or (not self.Enabled and (self.Cycles == 0)) then
		self.Label.Visible = false
		self.OutOfBounds = true
		--self.Color = colors[math.random(#colors)];
		return
	else
		self.Label.Visible = true
	end
	local startPosition, currentPosition, currentPower = self.EmitterPosition, self.Position, self.Power
	local imageLabel = self.Label
	-- Apply change.
	if imageLabel then
		-- Update position.
		local newPosition = Vector2.new(currentPosition.X - currentPower.X, currentPosition.Y - currentPower.Y)
		local newPower = Vector2.new((currentPower.X / 1.09) - gravity.X, (currentPower.Y / 1.1) - gravity.Y)
		local ViewportSize = Camera.ViewportSize
		imageLabel.Position = UDim2.new(startPosition.X, newPosition.X, startPosition.Y, newPosition.Y)
		self.OutOfBounds = (imageLabel.AbsolutePosition.X > ViewportSize.X and gravity.X > 0)
			or (imageLabel.AbsolutePosition.Y > ViewportSize.Y and gravity.Y > 0)
			or (imageLabel.AbsolutePosition.X < 0 and gravity.X < 0)
			or (imageLabel.AbsolutePosition.Y < 0 and gravity.Y < 0)
		self.Position, self.Power = newPosition, newPower
		-- Start spinning if it's reached max height.
		if newPower.Y < 0 then
			if self.Size <= 0 then
				self.Side = 1
				--imageLabel.ImageColor3 = self.Color;
			end
			if self.Size >= self.DefaultSize then
				self.Side = -1
				--imageLabel.ImageColor3 = Color3.new(self.Color.r * 0.65, self.Color.g * 0.65, self.Color.b * 0.65);
			end
			self.Size = self.Size + (self.Side * 2)
			imageLabel.Size = UDim2.new(0, self.DefaultSize, 0, self.Size)
		end
	end
end
