Limit how many workers can harvest the same resource

This commit is contained in:
2024-02-05 09:19:59 +01:00
parent ab0fef8ebf
commit d55ed29f97
11 changed files with 87 additions and 19 deletions

View File

@@ -95,10 +95,21 @@ ecs_entity_t placeBuilding(Game *game, BuildingType type,
ecs_set(ECS, building, AddPopCapacity, {10});
ecs_add_id(ECS, building, Storage);
break;
case BUILDING_HOUSE_01:
case BUILDING_HOUSE_02:
case BUILDING_HOUSE_03:
case BUILDING_HOUSE_04:
case BUILDING_HOUSE_05:
case BUILDING_HOUSE_06:
ecs_set(ECS, building, AddPopCapacity, {5});
ecs_add_id(ECS, building, Storage);
break;
case BUILDING_WHEAT_0:
case BUILDING_WHEAT_1:
hasCollision = false;
ecs_add_id(ECS, building, Harvestable);
ecs_set(ECS, building, Harvestable, {
.harvestLimit = 1
});
ecs_set(ECS, building, Resource, {RES_FOOD, INT32_MAX});
break;
default:
@@ -178,7 +189,7 @@ Vector2 getPositionNearBuilding(ecs_entity_t building, Vector2 fromPos) {
Vector2 center = entityGetCenter(pos, hitbox);
Vector2 size = {hitbox.width, hitbox.height};
size = Vector2SubtractValue(size, 10.0f);
size = Vector2SubtractValue(size, 5.0f);
Vector2 dir = Vector2Normalize(Vector2Subtract(fromPos, center));
dir = Vector2Multiply(dir, size);