Exemple #1
0
void building_put(building_t* b, char is_item, int id, float amount, inventory_t* inv, char isOwner)
{
	if (!isOwner)
		return;

	inventory_mov(&b->inventory, is_item, id, amount, inv);
	building_update(b);
}
Exemple #2
0
void building_take(building_t* b, char is_item, int id, float amount, inventory_t* inv, char isOwner)
{
	universe_t* u = b->w->universe;

	amount = fmin(amount, inventory_get(&b->inventory, is_item, id));

	float price = 0;
	if (!isOwner)
	{
		price = is_item ? u->items[id].price : u->materials[id].price;
		price *= amount;
	}
	if (price > inv->money)
		return;

	inventory_pay(&b->inventory, price,                inv);
	inventory_mov(&b->inventory, is_item, id, -amount, inv);
	building_update(b);
}
Exemple #3
0
void Building::unit_update(){
	building_update();
}