function ParticleController.SetupParticlesPlayer(u)local c=u.Character or u.CharacterAdded:wait()local I=upgradeParticle:Clone()local F=upgradeCheckpoint:Clone()I.Parent=c:WaitForChild(particleHolderName)F.Parent=c:WaitForChild(particleHolderName)end function ParticleController.EmitCheckpointParticle(u)local c=u.Character local I=c:WaitForChild(particleHolderName)local F=I:WaitForChild("\080\097\114\116\105\099\108\101\067\104\101\099\107\112\111\105\110\116")F:Emit(particleEmitRate)end function ParticleController.CreateUpgradeParticle(c,u)local I=u.Character or u.CharacterAdded:wait()local F=upgradeCheckpoint:Clone()F.Parent=I:WaitForChild(particleHolderName)F:Emit(particleEmitRate)end return ParticleController

function ParticleController.SetupParticlesPlayer(player)
	local character = player.Character or player.CharacterAdded:wait()
	
	-- Create all relevant particles TODO: Use a for loop for this instead?
	local _upgradeParticle = upgradeParticle:Clone()
	local _upgradeCheckpoint = upgradeCheckpoint:Clone()
	
	_upgradeParticle.Parent = character:WaitForChild(particleHolderName)
	_upgradeCheckpoint.Parent = character:WaitForChild(particleHolderName)
end

function ParticleController.EmitCheckpointParticle(player)
	-- Get the particle on the player and make it emit
	local character = player.Character
	local particleHolder = character:WaitForChild(particleHolderName)
	local particleEffect = particleHolder:WaitForChild("ParticleCheckpoint")
	particleEffect:Emit(particleEmitRate)
end

function ParticleController:CreateUpgradeParticle(player)
	local character = player.Character or player.CharacterAdded:wait()
	local particleEffect = upgradeCheckpoint:Clone()
	particleEffect.Parent = character:WaitForChild(particleHolderName)
	particleEffect:Emit(particleEmitRate)
end


return ParticleController
