Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add optional built building count to recipe rows #118

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Saklad5
Copy link
Contributor

@Saklad5 Saklad5 commented May 24, 2021

Users can now specify the actual number of buildings that are built for a recipe. This has no impact on the model itself, but makes it easier to tell if existing infrastructure needs to be revisited following a change.

A certain amount of surplus production capacity is almost always necessary, whether to futureproof, maintain belt balance, maximize beacon utility, or because demand is met by a non-integral number of machines. With this feature, that surplus can be tracked even if the recipe is linked.

This variable, which defaults to null, can be used to track the number of buildings that have actually been built. This number has no impact on the model.
Dropdown menu items for setting or clearing the builtBuildings value have been added for each recipe row.

These items mirror the behavior and implementation of those for fixedBuildings, for the most part.
The initial value is buildingCount rounded up, or 0 if buildingCount is negative.
As 0 is a valid value, clearing builtBuildings returns it to null.

Shopping lists now use the builtBuildings value instead of buildingCount if the former is not null.
The text field is only visible if builtBuildings is not null, and is placed under the building count. It is colored grey to indicate that it is not playing a role in the model.
If the number of buildings needed for the model's solution is greater than the specified number of built buildings, the recipe will now be flagged accordingly.
This makes it substantially easier to determine which recipes need to be revisited if a change is made.
To make issues more apparent, the entire page now displays an error message (like with deadlocks) if a recipe needs more machines than it currenty has built.
shpaass added a commit to shpaass/yafc-ce that referenced this pull request Feb 6, 2024
This PR extends PR ShadowTheAge#118 by
@Saklad5 (their commits were rebased for YAFC-CE)

Users can now specify the actual number of buildings that are built
for a recipe. This has no impact on the model itself, but makes it
easier to tell if existing infrastructure needs to be revisited
following a change.

A certain amount of surplus production capacity is almost always
necessary, whether to futureproof, maintain belt balance, maximize
beacon utility, or because demand is met by a non-integral number of
machines. With this feature, that surplus can be tracked even if the
recipe is linked.

My own addition is to make the check recursive so it shows the error on
the top recipe and all subgroups until the actual recipe that has not
enough buildings.


![image](https://github.com/have-fun-was-taken/yafc-ce/assets/171827/2b202499-3f5f-4ae6-8a8f-88e60a34169a)

You can see that `Tree seedling` requires 1.04 build instead of the 1 I
have. The parent group (`Wood`) also has the exclamation mark and error
message.
And the sheet itself shows a red error box with the message as well.
(not visible in the screenshot).

This makes lack of buildings more clear, compared when they are hidden
in multiple nested groups deep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant