Very simple items system to get into the inventory work.
This commit is contained in:
parent
1962b0c24e
commit
3d461bce6d
15 changed files with 94 additions and 32 deletions
26
main.cpp
26
main.cpp
|
@ -24,7 +24,7 @@ namespace fs = std::filesystem;
|
|||
* system.
|
||||
*/
|
||||
void configure_world(DinkyECS::World &world, Map &game_map) {
|
||||
const auto &config = world.get_the<MapConfig>();
|
||||
auto &config = world.get_the<GameConfig>();
|
||||
// configure a player as a fact of the world
|
||||
Player player{world.entity()};
|
||||
world.set_the<Player>(player);
|
||||
|
@ -32,7 +32,7 @@ void configure_world(DinkyECS::World &world, Map &game_map) {
|
|||
world.set<Position>(player.entity, {game_map.place_entity(0)});
|
||||
world.set<Motion>(player.entity, {0, 0});
|
||||
world.set<Combat>(player.entity, {100, 10});
|
||||
world.set<Tile>(player.entity, {config.PLAYER_TILE});
|
||||
world.set<Tile>(player.entity, {config.enemies["PLAYER_TILE"]["display"]});
|
||||
world.set<Inventory>(player.entity, {5});
|
||||
world.set<LightSource>(player.entity, {70,1.0});
|
||||
|
||||
|
@ -40,24 +40,38 @@ void configure_world(DinkyECS::World &world, Map &game_map) {
|
|||
world.set<Position>(enemy, {game_map.place_entity(1)});
|
||||
world.set<Motion>(enemy, {0,0});
|
||||
world.set<Combat>(enemy, {20, 10});
|
||||
world.set<Tile>(enemy, {config.ENEMY_TILE});
|
||||
world.set<Tile>(enemy, {config.enemies["UNICORN"]["display"]});
|
||||
|
||||
auto enemy2 = world.entity();
|
||||
world.set<Position>(enemy2, {game_map.place_entity(2)});
|
||||
world.set<Motion>(enemy2, {0,0});
|
||||
world.set<Combat>(enemy2, {20, 10});
|
||||
world.set<Tile>(enemy2, {"*"});
|
||||
world.set<Tile>(enemy2, {config.enemies["SNAKE"]["display"]});
|
||||
world.set<LightSource>(enemy2, {60,0.2f});
|
||||
|
||||
auto gold = world.entity();
|
||||
world.set<Position>(gold, {game_map.place_entity(3)});
|
||||
world.set<Loot>(gold, {100});
|
||||
world.set<Tile>(gold, {"$"});
|
||||
world.set<Tile>(gold, {config.items["CHEST"]["display"]});
|
||||
|
||||
auto wall_torch = world.entity();
|
||||
world.set<Position>(wall_torch, {game_map.place_entity(4)});
|
||||
world.set<LightSource>(wall_torch, {90,3.0f});
|
||||
world.set<Tile>(wall_torch, {"☀"});
|
||||
world.set<Tile>(wall_torch, {config.items["WALL_TORCH"]["display"]});
|
||||
|
||||
auto torch = world.entity();
|
||||
Point at = game_map.place_entity(2);
|
||||
world.set<Position>(torch, {{at.x+1, at.y+1}});
|
||||
world.set<Loot>(torch, {{0}});
|
||||
world.set<LightSource>(torch, {70,1.5f});
|
||||
world.set<Tile>(torch, {config.items["TORCH"]["display"]});
|
||||
|
||||
auto sword = world.entity();
|
||||
at = game_map.place_entity(1);
|
||||
world.set<Position>(sword, {at.x+1, at.y+1});
|
||||
world.set<Weapon>(sword, {.damage=20});
|
||||
world.set<Loot>(sword, {{0}});
|
||||
world.set<Tile>(sword, {config.items["SWORD"]["display"]});
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue