mirror of
https://github.com/Keyslam-Group/Concord.git
synced 2025-09-02 04:13:58 -04:00
Fix mistakes in readme
This commit is contained in:
parent
c95a1f2768
commit
3e9c596187
1 changed files with 18 additions and 27 deletions
45
README.md
45
README.md
|
@ -99,8 +99,8 @@ drawSystem = System({pool = {position, texture}}) -- Define a System that takes
|
||||||
|
|
||||||
function drawSystem:draw() -- Give it a draw function
|
function drawSystem:draw() -- Give it a draw function
|
||||||
for _, entity in ipairs(self.pool) do -- Iterate over all Entities that this System acts on
|
for _, entity in ipairs(self.pool) do -- Iterate over all Entities that this System acts on
|
||||||
local position = entity[position] -- Get the position Component of this Entity
|
local position = entity.position -- Get the position Component of this Entity
|
||||||
local texture = entity[texture] -- Get the texture Component of this Entity
|
local texture = entity.texture -- Get the texture Component of this Entity
|
||||||
|
|
||||||
-- Draw the Entity
|
-- Draw the Entity
|
||||||
love.graphics.draw(texture.image, position.x, position.y)
|
love.graphics.draw(texture.image, position.x, position.y)
|
||||||
|
@ -128,13 +128,6 @@ And all that without writing a single extra line of code. Just reusing code that
|
||||||
|
|
||||||
Concord does a few things that might not be immediately clear. This segment should help understanding.
|
Concord does a few things that might not be immediately clear. This segment should help understanding.
|
||||||
|
|
||||||
#### Classes
|
|
||||||
|
|
||||||
When you define a Component or System you are actually defining a `ComponentClass` and `SystemClass` respectively. From these instances of them can be created. They also act as identifiers for Concord.
|
|
||||||
|
|
||||||
For example. If you want to get a specific Component from an Entity, you'd do `Component = Entity:get(ComponentClass)`.
|
|
||||||
When ComponentClasses or SystemClasses are required it will be written clearly in the Documentation.
|
|
||||||
|
|
||||||
#### Requiring files
|
#### Requiring files
|
||||||
|
|
||||||
Since you'll have lots of Components and Systems in your game Concord makes it a bit easier to load things in.
|
Since you'll have lots of Components and Systems in your game Concord makes it a bit easier to load things in.
|
||||||
|
@ -142,14 +135,14 @@ Since you'll have lots of Components and Systems in your game Concord makes it a
|
||||||
```lua
|
```lua
|
||||||
-- Loads all files in the directory, and puts the return value in the table Systems. The key is their filename without any extension
|
-- Loads all files in the directory, and puts the return value in the table Systems. The key is their filename without any extension
|
||||||
local Systems = {}
|
local Systems = {}
|
||||||
Concord.loadNamespace("path.to.systems", Systems)
|
Concord.utils.loadNamespace("path/to/systems", Systems)
|
||||||
|
|
||||||
print(Systems.systemName)
|
print(Systems.systemName)
|
||||||
|
|
||||||
-- Loads all files in the directory. Components automatically register to Concord, so loading them into a namespace isn't necessary.
|
-- Loads all files in the directory. Components automatically register into Concord.components, so loading them into a namespace isn't necessary.
|
||||||
Concord.loadNamespace("path.to.components")
|
Concord.utils.loadNamespace("path/to/components")
|
||||||
|
|
||||||
print(Systems.componentName)
|
print(Concord.components.componentName)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Method chaining
|
#### Method chaining
|
||||||
|
@ -157,13 +150,13 @@ print(Systems.componentName)
|
||||||
-- Most (if not all) methods will return self
|
-- Most (if not all) methods will return self
|
||||||
-- This allowes you to chain methods
|
-- This allowes you to chain methods
|
||||||
|
|
||||||
entity
|
myEntity
|
||||||
:give(position, 100, 50)
|
:give("position", 100, 50)
|
||||||
:give(velocity, 200, 0)
|
:give("velocity", 200, 0)
|
||||||
:remove(position)
|
:remove("position")
|
||||||
:destroy()
|
:destroy()
|
||||||
|
|
||||||
world
|
myWorld
|
||||||
:addEntity(fooEntity)
|
:addEntity(fooEntity)
|
||||||
:addEntity(barEntity)
|
:addEntity(barEntity)
|
||||||
:clear()
|
:clear()
|
||||||
|
@ -219,12 +212,6 @@ print(position.x, position.y) -- 100, 50
|
||||||
myEntity:remove("position")
|
myEntity:remove("position")
|
||||||
```
|
```
|
||||||
|
|
||||||
```lua
|
|
||||||
-- Check if the Entity has a Component
|
|
||||||
local hasPosition = myEntity.position and true of false
|
|
||||||
print(hasPosition) -- false
|
|
||||||
```
|
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
-- Entity:give will override a Component if the Entity already has it
|
-- Entity:give will override a Component if the Entity already has it
|
||||||
-- Entity:ensure will only put the Component if the Entity does not already have it
|
-- Entity:ensure will only put the Component if the Entity does not already have it
|
||||||
|
@ -462,7 +449,9 @@ local Drawable = Concord.component()
|
||||||
|
|
||||||
|
|
||||||
-- Defining Systems
|
-- Defining Systems
|
||||||
local MoveSystem = Concord.system(pool = {"position", "velocity"})
|
local MoveSystem = Concord.system({
|
||||||
|
pool = {"position", "velocity"}
|
||||||
|
})
|
||||||
|
|
||||||
function MoveSystem:update(dt)
|
function MoveSystem:update(dt)
|
||||||
for _, e in ipairs(self.pool) do
|
for _, e in ipairs(self.pool) do
|
||||||
|
@ -472,7 +461,9 @@ function MoveSystem:update(dt)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local DrawSystem = Concord.system(pool = {"position", "drawable"})
|
local DrawSystem = Concord.system({
|
||||||
|
pool = {"position", "drawable"}
|
||||||
|
})
|
||||||
|
|
||||||
function DrawSystem:draw()
|
function DrawSystem:draw()
|
||||||
for _, e in ipairs(self.pool) do
|
for _, e in ipairs(self.pool) do
|
||||||
|
@ -525,5 +516,5 @@ end
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Licence
|
## License
|
||||||
MIT Licensed - Copyright Justin van der Leij (Tjakka5)
|
MIT Licensed - Copyright Justin van der Leij (Tjakka5)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue