mirror of
https://github.com/Keyslam-Group/Concord.git
synced 2025-09-01 20:03:55 -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
|
||||
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 texture = entity[texture] -- Get the texture 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
|
||||
|
||||
-- Draw the Entity
|
||||
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.
|
||||
|
||||
#### 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
|
||||
|
||||
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
|
||||
-- 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 = {}
|
||||
Concord.loadNamespace("path.to.systems", Systems)
|
||||
Concord.utils.loadNamespace("path/to/systems", Systems)
|
||||
|
||||
print(Systems.systemName)
|
||||
|
||||
-- Loads all files in the directory. Components automatically register to Concord, so loading them into a namespace isn't necessary.
|
||||
Concord.loadNamespace("path.to.components")
|
||||
-- Loads all files in the directory. Components automatically register into Concord.components, so loading them into a namespace isn't necessary.
|
||||
Concord.utils.loadNamespace("path/to/components")
|
||||
|
||||
print(Systems.componentName)
|
||||
print(Concord.components.componentName)
|
||||
```
|
||||
|
||||
#### Method chaining
|
||||
|
@ -157,13 +150,13 @@ print(Systems.componentName)
|
|||
-- Most (if not all) methods will return self
|
||||
-- This allowes you to chain methods
|
||||
|
||||
entity
|
||||
:give(position, 100, 50)
|
||||
:give(velocity, 200, 0)
|
||||
:remove(position)
|
||||
myEntity
|
||||
:give("position", 100, 50)
|
||||
:give("velocity", 200, 0)
|
||||
:remove("position")
|
||||
:destroy()
|
||||
|
||||
world
|
||||
myWorld
|
||||
:addEntity(fooEntity)
|
||||
:addEntity(barEntity)
|
||||
:clear()
|
||||
|
@ -219,12 +212,6 @@ print(position.x, position.y) -- 100, 50
|
|||
myEntity:remove("position")
|
||||
```
|
||||
|
||||
```lua
|
||||
-- Check if the Entity has a Component
|
||||
local hasPosition = myEntity.position and true of false
|
||||
print(hasPosition) -- false
|
||||
```
|
||||
|
||||
```lua
|
||||
-- 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
|
||||
|
@ -462,7 +449,9 @@ local Drawable = Concord.component()
|
|||
|
||||
|
||||
-- Defining Systems
|
||||
local MoveSystem = Concord.system(pool = {"position", "velocity"})
|
||||
local MoveSystem = Concord.system({
|
||||
pool = {"position", "velocity"}
|
||||
})
|
||||
|
||||
function MoveSystem:update(dt)
|
||||
for _, e in ipairs(self.pool) do
|
||||
|
@ -472,7 +461,9 @@ function MoveSystem:update(dt)
|
|||
end
|
||||
|
||||
|
||||
local DrawSystem = Concord.system(pool = {"position", "drawable"})
|
||||
local DrawSystem = Concord.system({
|
||||
pool = {"position", "drawable"}
|
||||
})
|
||||
|
||||
function DrawSystem:draw()
|
||||
for _, e in ipairs(self.pool) do
|
||||
|
@ -525,5 +516,5 @@ end
|
|||
|
||||
---
|
||||
|
||||
## Licence
|
||||
## License
|
||||
MIT Licensed - Copyright Justin van der Leij (Tjakka5)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue