Update readme

This commit is contained in:
Ukendio 2024-05-11 02:12:47 +02:00
parent e6b16e91ae
commit 582b09be66

View file

@ -45,9 +45,14 @@ world:set(opponent, Position, Vector3.new(0, 5, 3))
for playerId, playerPosition, health in world:query(Position, Health) do for playerId, playerPosition, health in world:query(Position, Health) do
local totalDamage = 0 local totalDamage = 0
for opponentId, opponentPosition, damage in world:query(Position, Damage) do for opponentId, opponentPosition, damage in world:query(Position, Damage) do
if playerId == opponentId then
continue
end
if (playerPosition - opponentPosition).Magnitude < 5 then if (playerPosition - opponentPosition).Magnitude < 5 then
totalDamage += damage totalDamage += damage
end end
-- We create a pair between the relation component `DamagedBy` and the entity id of the opponent.
-- This will allow us to specifically query for damage exerted by a specific opponent.
world:set(playerId, ECS_PAIR(DamagedBy, opponentId), totalDamage) world:set(playerId, ECS_PAIR(DamagedBy, opponentId), totalDamage)
end end
end end
@ -57,7 +62,7 @@ for playerId, health, inflicted in world:query(Health, ECS_PAIR(DamagedBy, oppon
world:set(playerId, health - inflicted) world:set(playerId, health - inflicted)
end end
assert(world:get(playerId, Health) == 79) assert(world:get(player, Health) == 79)
``` ```
125 archetypes, 4 random components queried. 125 archetypes, 4 random components queried.