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