mirror of
https://github.com/Keyslam-Group/Concord.git
synced 2025-09-01 11:53:57 -04:00
Fixed the example
This commit is contained in:
parent
e1b64e2376
commit
333f43eff9
2 changed files with 0 additions and 127 deletions
|
@ -1,9 +0,0 @@
|
|||
function love.conf(t)
|
||||
t.identity = "Platformer"
|
||||
t.version = "11.0"
|
||||
t.console = true
|
||||
|
||||
t.window.vsync = false
|
||||
t.window.width = 720
|
||||
t.window.height = 720
|
||||
end
|
|
@ -1,118 +0,0 @@
|
|||
local Fluid = require("fluid").init({
|
||||
useEvents = true
|
||||
})
|
||||
local Entity = Fluid.entity
|
||||
local Component = Fluid.component
|
||||
local System = Fluid.system
|
||||
|
||||
local Game = Fluid.instance()
|
||||
Fluid.addInstance(Game)
|
||||
|
||||
local Position = Component(function(e, x, y)
|
||||
e.x = x
|
||||
e.y = y
|
||||
end)
|
||||
|
||||
local Rectangle = Component(function(e, w, h)
|
||||
e.w = w
|
||||
e.h = h
|
||||
end)
|
||||
|
||||
local Circle = Component(function(e, r)
|
||||
e.r = r
|
||||
end)
|
||||
|
||||
local Color = Component(function(e, r, g, b, a)
|
||||
e.r = r
|
||||
e.g = g
|
||||
e.b = b
|
||||
e.a = a
|
||||
end)
|
||||
|
||||
local RectangleRenderer = System({Position, Rectangle})
|
||||
function RectangleRenderer:draw()
|
||||
local e
|
||||
for i = 1, self.pool.size do
|
||||
e = self.pool:get(i)
|
||||
|
||||
local position = e:get(Position)
|
||||
local rectangle = e:get(Rectangle)
|
||||
local color = e:get(Color)
|
||||
|
||||
love.graphics.setColor(255, 255, 255)
|
||||
if color then
|
||||
love.graphics.setColor(color.r, color.g, color.b, color.a)
|
||||
end
|
||||
|
||||
love.graphics.rectangle("fill", position.x, position.y, rectangle.w, rectangle.h)
|
||||
end
|
||||
end
|
||||
|
||||
local CircleRenderer = System({Position, Circle})
|
||||
function CircleRenderer:draw()
|
||||
local e
|
||||
for i = 1, self.pool.size do
|
||||
e = self.pool:get(i)
|
||||
|
||||
local position = e:get(Position)
|
||||
local circle = e:get(Circle)
|
||||
local color = e:get(Color)
|
||||
|
||||
love.graphics.setColor(255, 255, 255)
|
||||
if color then
|
||||
love.graphics.setColor(color.r, color.g, color.b, color.a)
|
||||
end
|
||||
|
||||
love.graphics.circle("fill", position.x, position.y, circle.r)
|
||||
end
|
||||
end
|
||||
|
||||
local RandomRemover = System({})
|
||||
|
||||
function RandomRemover:init()
|
||||
self.time = 0
|
||||
end
|
||||
|
||||
function RandomRemover:update(dt)
|
||||
self.time = self.time + dt
|
||||
|
||||
if self.time >= 0.25 then
|
||||
self.time = 0
|
||||
|
||||
if self.pool.size > 0 then
|
||||
local i = love.math.random(1, self.pool.size)
|
||||
|
||||
self.pool:get(i):destroy()
|
||||
end
|
||||
end
|
||||
|
||||
love.window.setTitle(love.timer.getFPS())
|
||||
end
|
||||
|
||||
Game:addSystem(RandomRemover(), "update")
|
||||
Game:addSystem(RectangleRenderer(), "draw")
|
||||
Game:addSystem(CircleRenderer(), "draw")
|
||||
|
||||
for i = 1, 100 do
|
||||
local e = Entity()
|
||||
e:give(Position, love.math.random(0, 700), love.math.random(0, 700))
|
||||
e:give(Rectangle, love.math.random(5, 20), love.math.random(5, 20))
|
||||
|
||||
if love.math.random(0, 1) == 0 then
|
||||
e:give(Color, love.math.random(), love.math.random(), love.math.random(), 1)
|
||||
end
|
||||
|
||||
Game:addEntity(e)
|
||||
end
|
||||
|
||||
for i = 1, 100 do
|
||||
local e = Entity()
|
||||
e:give(Position, love.math.random(0, 700), love.math.random(0, 700))
|
||||
e:give(Circle, love.math.random(5, 20))
|
||||
|
||||
if love.math.random(0, 1) == 0 then
|
||||
e:give(Color, love.math.random(), love.math.random(), love.math.random(), 1)
|
||||
end
|
||||
|
||||
Game:addEntity(e)
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue