Re-add gold ore

This commit is contained in:
2024-01-29 12:35:06 +01:00
parent bc463ac3e4
commit 3c63c68597
2 changed files with 21 additions and 14 deletions

View File

@@ -121,24 +121,30 @@ bool initRocksLayer(BzTileMap *map, BzTileLayer *layer) {
tile = bzTilesetGetTileID(tileset, tile);
if (tile == -1) continue; // Not a tree
BzTileID tileID = bzTilesetGetTileID(tileset, layerTile);
BZ_ASSERT(hasEntityHitBoxRec(tileID));
HitBox hb = getEntityHitBoxRec(tileID);
f32 sizeX = tileset->tileWidth;
f32 sizeY = tileset->tileHeight;
f32 posX = layer->offsetX + x * sizeX;
f32 posY = layer->offsetY + y * sizeY;
posY += sizeY;
ecs_entity_t e = entityCreateEmpty();
SpatialGridID gridID = bzSpatialGridInsert(game->entityGrid, &e, posX, posY, sizeX, sizeY);
Position pos = {posX, posY};
HitBox tHb = entityTransformHitBox(pos, hb);
SpatialGridID gridID = bzSpatialGridInsert(game->entityGrid, &e,
tHb.x, tHb.y,
tHb.width, tHb.height);
ecs_set(ECS, e, SpatialGridID, {gridID});
posX += sizeX * 0.5f;
posY += sizeY * 0.5f;
ecs_set(ECS, e, Position, {posX, posY});
ecs_set(ECS, e, HitBox, {sizeX, sizeY});
ecs_set_ptr(ECS, e, Position, &pos);
ecs_set(ECS, e, Size, {sizeX, sizeY});
ecs_set_ptr(ECS, e, HitBox, &hb);
ecs_set(ECS, e, Rotation, {0});
BzTile tileID = bzTilesetGetTileID(tileset, layerTile);
ecs_set(ECS, e, TextureRegion, {tileset->tiles, bzTilesetGetTileRegion(tileset, tileID)});
ecs_set(ECS, e, TextureRegion, {tileset->tiles, getTextureRect(tileID)});
ecs_set(ECS, e, Resource, {RES_GOLD, 80});
ecs_add_id(ECS, e, Selectable);
ecs_add_id(ECS, e, Harvestable);
}
}
return true;
@@ -165,13 +171,14 @@ bool initTreesLayer(BzTileMap *map, BzTileLayer *layer) {
f32 posX = layer->offsetX + x * sizeX;
f32 posY = layer->offsetY + y * sizeY;
posY += sizeY;
Position pos = {posX, posY};
ecs_entity_t e = entityCreateEmpty();
HitBox tHitBox = entityTransformHitBox((Position) {posX, posY}, hb);
Rectangle tHb = entityTransformHitBox((Position) {posX, posY}, hb);
SpatialGridID gridID = bzSpatialGridInsert(game->entityGrid, &e,
tHitBox.x, tHitBox.y,
tHitBox.width, tHitBox.height);
tHb.x, tHb.y,
tHb.width, tHb.height);
ecs_set(ECS, e, SpatialGridID, {gridID});
ecs_set(ECS, e, Position, {posX, posY});
ecs_set_ptr(ECS, e, Position, &pos);
ecs_set(ECS, e, Size, {sizeX, sizeY});
ecs_set_ptr(ECS, e, HitBox, &hb);
ecs_set(ECS, e, Rotation, {0});