Fix pop consuming
This commit is contained in:
@@ -55,40 +55,40 @@ void updateTextureOwnerTile(ecs_iter_t *it) {
|
||||
void buildingAddPopCapacity(ecs_iter_t *it) {
|
||||
Game *game = ecs_singleton_get_mut(ECS, Game);
|
||||
AddPopCapacity *addPop = ecs_field(it, AddPopCapacity, 1);
|
||||
Owner *owner = ecs_field(it, Owner, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
PlayerResources *res = &game->playerResources[owner[i].player];
|
||||
Player player = ecs_get(ECS, it->entities[i], Owner)->player;
|
||||
PlayerResources *res = &game->playerResources[player];
|
||||
res->popCapacity += addPop[i].amount;
|
||||
}
|
||||
}
|
||||
void buildingRemovePopCapacity(ecs_iter_t *it) {
|
||||
Game *game = ecs_singleton_get_mut(ECS, Game);
|
||||
AddPopCapacity *addPop = ecs_field(it, AddPopCapacity, 1);
|
||||
Owner *owner = ecs_field(it, Owner, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
PlayerResources *res = &game->playerResources[owner->player];
|
||||
Player player = ecs_get(ECS, it->entities[i], Owner)->player;
|
||||
PlayerResources *res = &game->playerResources[player];
|
||||
res->popCapacity -= addPop[i].amount;
|
||||
}
|
||||
}
|
||||
void entityConsumePopCapacity(ecs_iter_t *it) {
|
||||
Game *game = ecs_singleton_get_mut(ECS, Game);
|
||||
ConsumePopCapacity *pop = ecs_field(it, ConsumePopCapacity, 1);
|
||||
Owner *owner = ecs_field(it, Owner, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
PlayerResources *res = &game->playerResources[owner[i].player];
|
||||
Player player = ecs_get(ECS, it->entities[i], Owner)->player;
|
||||
PlayerResources *res = &game->playerResources[player];
|
||||
res->pop += pop[i].amount;
|
||||
}
|
||||
}
|
||||
void entityUnConsumePopCapacity(ecs_iter_t *it) {
|
||||
Game *game = ecs_singleton_get_mut(ECS, Game);
|
||||
ConsumePopCapacity *pop = ecs_field(it, ConsumePopCapacity, 1);
|
||||
Owner *owner = ecs_field(it, Owner, 2);
|
||||
|
||||
for (i32 i = 0; i < it->count; i++) {
|
||||
PlayerResources *res = &game->playerResources[owner[i].player];
|
||||
Player player = ecs_get(ECS, it->entities[i], Owner)->player;
|
||||
PlayerResources *res = &game->playerResources[player];
|
||||
res->pop -= pop[i].amount;
|
||||
}
|
||||
}
|
||||
@@ -260,7 +260,8 @@ void updateBuildingRecruitment(ecs_iter_t *it) {
|
||||
slot->elapsed += dt;
|
||||
if (slot->elapsed >= slot->recruitTime) {
|
||||
slot->elapsed = 0;
|
||||
bzLogInfo("spawned");
|
||||
PlayerResources *playerRes = &game->playerResources[player];
|
||||
playerRes->pop--;
|
||||
entityRecruit(slot->entityType, placePos, player, game);
|
||||
slot->numRecruiting--;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user