Removed /data/particles.lua that got accidentally copied from data/scripts/particles.lua, oops
This commit is contained in:
		
							parent
							
								
									d4dbc034ea
								
							
						
					
					
						commit
						df26d84577
					
				| 
						 | 
					@ -1,100 +0,0 @@
 | 
				
			||||||
Particle = Entity:New(x,y)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 function Particle:New(x,y,particle_data)
 | 
					 | 
				
			||||||
 	local o = Entity:New(x,y)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 	o.pos = {x = x, y = y}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  o.speed = particle_data.speed or 0
 | 
					 | 
				
			||||||
  o.direction = particle_data.direction or o.direction
 | 
					 | 
				
			||||||
  o.sprite_rotation = particle_data.sprite_rotation or o.sprite_rotation
 | 
					 | 
				
			||||||
  o.sprite_offset = particle_data.sprite_offset or o.sprite_offset
 | 
					 | 
				
			||||||
  o.sprite_scale = particle_data.sprite_scale or o.sprite_scale
 | 
					 | 
				
			||||||
  o.sprite_tint = particle_data.sprite_tint or o.sprite_tint
 | 
					 | 
				
			||||||
  o.sprite_alpha = particle_data.sprite_alpha or o.sprite_alpha
 | 
					 | 
				
			||||||
  o.sprite_alpha_base = o.sprite_alpha
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  o.sprite_flip = particle_data.sprite_flip or o.sprite_flip
 | 
					 | 
				
			||||||
  o.animation_active = particle_data.animation_active or false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  o.time = 0.5
 | 
					 | 
				
			||||||
  o.timer = 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  o.vel = {
 | 
					 | 
				
			||||||
    x = o.speed * math.cos(o.direction),
 | 
					 | 
				
			||||||
    y = o.speed * math.sin(o.direction)
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  o.speed_increase = particle_data.speed_increase or 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if particle_data.light ~= nil then
 | 
					 | 
				
			||||||
    o.lightRange = particle_data.light
 | 
					 | 
				
			||||||
    local flicker = particle_data.light_flicker or nil
 | 
					 | 
				
			||||||
    local color = particle_data.light_color or nil
 | 
					 | 
				
			||||||
    o.light = CreateLight(o.pos.x,o.pos.y,o.lightRange,flicker,color)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  -- animations
 | 
					 | 
				
			||||||
  if particle_data.animation ~= nil then
 | 
					 | 
				
			||||||
    o.body = Animation:New(particle_data.animation)
 | 
					 | 
				
			||||||
    o:centerOffset(o.body)
 | 
					 | 
				
			||||||
    o:getBoundingBox(o.body)
 | 
					 | 
				
			||||||
    if not o.animation_active then
 | 
					 | 
				
			||||||
      o.body.speed = 0
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  table.insert(LoadedParticles,o)
 | 
					 | 
				
			||||||
  o.id = #LoadedParticles
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 	setmetatable(o, self)
 | 
					 | 
				
			||||||
 	self.__index = self
 | 
					 | 
				
			||||||
 	return o
 | 
					 | 
				
			||||||
 end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function Particle:Kill()
 | 
					 | 
				
			||||||
	if self.light ~= nil then
 | 
					 | 
				
			||||||
		KillLight(self.light)
 | 
					 | 
				
			||||||
	end
 | 
					 | 
				
			||||||
	if self.id ~= nil then
 | 
					 | 
				
			||||||
		for _, e in pairs(LoadedParticles) do
 | 
					 | 
				
			||||||
			if e.id > self.id then
 | 
					 | 
				
			||||||
				e.id = e.id - 1
 | 
					 | 
				
			||||||
			end
 | 
					 | 
				
			||||||
		end
 | 
					 | 
				
			||||||
		table.remove(LoadedParticles,self.id)
 | 
					 | 
				
			||||||
	end
 | 
					 | 
				
			||||||
	self = nil
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function Particle:HandleAnimation()
 | 
					 | 
				
			||||||
  self.timer = self.timer + current_dt
 | 
					 | 
				
			||||||
  self.sprite_alpha = self.sprite_alpha_base*(self.time-self.timer)/self.time
 | 
					 | 
				
			||||||
  if self.light ~= nil then
 | 
					 | 
				
			||||||
    self:LightAdjust()
 | 
					 | 
				
			||||||
    self.light.range = self.lightRange * self.sprite_alpha/2
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
  if self.sprite_alpha < 0 then self:Kill() end
 | 
					 | 
				
			||||||
  if self.body ~= nil then
 | 
					 | 
				
			||||||
    self.body:Animate()
 | 
					 | 
				
			||||||
    self:Draw(self.body)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function Particle:DoPhysics()
 | 
					 | 
				
			||||||
  -- adjust speed
 | 
					 | 
				
			||||||
  if self.speed_increase ~= 0 then
 | 
					 | 
				
			||||||
    self.speed = self.speed + self.speed_increase
 | 
					 | 
				
			||||||
    self.vel.x = self.speed * math.cos(self.direction)
 | 
					 | 
				
			||||||
    self.vel.y = self.speed * math.sin(self.direction)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
  -- move
 | 
					 | 
				
			||||||
  self:CollisionMove()
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function Particle:Debug()
 | 
					 | 
				
			||||||
  -- draw center CYAN
 | 
					 | 
				
			||||||
  love.graphics.setColor(0,1,1)
 | 
					 | 
				
			||||||
  love.graphics.circle("fill", -Camera.pos.x + self.pos.x, -Camera.pos.y + self.pos.y, 1)
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue