Effect = 
{
	FXType = "Goal",
	PlaysWhilePaused = false,
	Data = 
	{
		-- 0 is infinity
		life = 0,
		
		Goal =
		{
			step = 0.2,
			current = 0.0,
			float = 8,						--amount to bob up and down
			offset = { 0, 0 },
			initial_scale = { 1, 1 },					--initial scaling of particles
			modulate = { 255, 255, 255, 255 },	--particle modulate
		},
		
		Particles = 
		{
			animation = "DATA:Animations/world/puzzle_shard_obtained.anim",
			life = 0,
			fade = "linear",
		
			--default to background particle
			particle_placement = FXParticle.FOREGROUND
		}
	}
}
--[[goal = 
{
	animation = "DATA:Animations/world/puzzle_shard_obtained.anim",
	life = 0,
	fade = "linear",

	--default to background particle
	particle_placement = FXParticle.FOREGROUND
}

function UpdatePattern( pattern, time_elapsed, particles, root_position )

end

g_step =  0.2
g_current = 0
g_float = 8
g_start_pos = Vector2()
g_offset = Vector2(0,0)

function UpdateSpawn( spawner, time_elapsed, particles, root_position )

	if not first_update then
		first_update = true
		spawner:SpawnParticle( "goal", root_position + g_offset )
	end
	
	for particle in particles:GetParticles() do
		--make it bounce
		
		if g_step > 0 and g_current > g_float/2 then
			g_step = g_step*-1
		elseif g_step < 0 and g_current < -g_float/2 then
			g_step = g_step*-1
		end
		
		g_current = g_current + g_step
		particle:SetPosition( root_position + g_offset + Vector2( 0, g_current ) )
--		particle:Rotate(0.01)
	end
	
end

Effect = 
{
	FXType = "Custom",
	Data = 
	{
	}
}
]]--