Skip to content

Conversation

@TariqTheCoder
Copy link

Summary

This merge request introduces several gameplay improvements, UI enhancements, bug fixes, text corrections, and code clean-ups across the Colony Management, Resources, Parts modules, and UI.
It also removes cleans grammar/log messages for consistency.

Key Features & Changes

1. Colony Interaction Improvements

Dynamic "Create/View Colony" Button

Button now automatically switches between:

  • "Create Colony" when the player is not in any colony

  • "View Colony Information" when near an existing colony

Button callback switches appropriately (CreateColony vs OpenColony).

Corrected Colony Creation Message

Replaced “Too close to another colony” with “Already inside another colony” to be more accurate.

2. Resource System Enhancements

  • Resource Deposits Now Display Size Labels on the Map
  • Deposits show Small / Medium / Large / Huge instead of a generic label.

Fixed Typo in Class Name

ReourceDeposit → ResourceDeposit

3. Parts Module Fixes & Improved Messaging

  1. ExcavatorModule
    -> Fixed grammar in messages
    -> Improved error clarity (e.g., “Material container needed for storage”)

  2. BalloonModule

    -> More accurate vacuum message - (“Cannot deploy in a vacuum”)

  3. ScannerModule

    -> Better atmosphere-use message

    -> Corrected altitude variable typo

    -> Improved log output when deposits are found

  4. HingeModule

    -> Cleaned redundant comments

    -> Improved loop-detection clarity

4. Code Quality & Cleanup

  • Replaced incorrect/typo-filled log strings
  • Ensures consistent language across the mod.

Conclusion

  • Colony creation and viewing button behaviour

  • Map now displays deposit size

  • Balloon and excavator behave correctly with new messages

  • Scanner altitude and atmosphere logic verified

  • Log messages and lists work better

Note:
This MR is safe to merge and focuses on clarity, bug-fixing, and usability.
No gameplay rebalance is included—only improvements.

…h insufficient resources or buildings. Fixed spelling and grammatical errors. Changes size and padding of Colonies button, and changed the text to 'Launch From Colony'. Removed redundant Information text subheading in the colony overview and instead added name.
…or create a colony when appropriate distance away from the colony
…t of deposits to 4-8 and tweaked other values for cleaner generation
@TariqTheCoder
Copy link
Author

@dani0105

@dani0105
Copy link
Member

I'll review and test the changes this week

Copy link
Member

@dani0105 dani0105 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see you didn't compile the project, because there are errors that will prevent a valid build. Fix all the comments and show me screenshots of the changes.

for (short index = 0; index < 9; index++)
{
int amount = rnd.Next(1000,3000);
int amount = rnd.Next(0,4000);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is that there are always resources in the deposits.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

* <returns> True if there are more resources</returns>
*/
public bool takeRsources(double quantity)
public bool takeResources(double quantity)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

update all the references for this method

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Comment on lines +61 to 68
private static void ShowMenu(string text, string option)
{
SizeSyncerBuilder.Carrier sizeSync;
ButtonBuilder[] array = new ButtonBuilder[1];
new SizeSyncerBuilder(out sizeSync).HorizontalMode(SizeMode.MaxChildSize);
array[0] = ButtonBuilder.CreateButton(sizeSync, () => option, null, CloseMode.Stack);
MenuGenerator.ShowChoices(() => text, array);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from where are you importing SizeSyncerBuilder, ButtonBuilder and MenuGenerator?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed
image

Builder.AttachToCanvas(holder, Builder.SceneToAttach.CurrentScene);

SFS.UI.ModGUI.Button button = Builder.CreateButton(ui.transform, 120, 40, -90,-95, () => ScreenManager.main.OpenScreen(() => _ui), "Colonies");
SFS.UI.ModGUI.Button button = Builder.CreateButton(ui.transform, 120, 40, -90,-95, () => ScreenManager.main.OpenScreen(() => _ui), "Launch From Colony");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Select launch site" is probably more appropriate.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is disabled. It is no longer used due to all the complications.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

return;
}
double countToExtract = _extractionCount * WorldTime.main.timewarpSpeed;
bool thereAreMore = deposit.takeRsources(countToExtract);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still uses takeRsources

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is not necessary

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

public Planet CurrentPlanet { set; get; }

public ReourceDeposit CurrentDeposit { private set; get; }
public ResourceDeposit CurrentDeposit { private set; get; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are only changing the name here, but not the class itself.

if (nearest != null)
{
// Change button to VIEW MODE
_createColonyButton.SetText("View Colony Information");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SetText does not exist

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@dani0105
Copy link
Member

I see you didn't compile the project, because there are errors that will prevent a valid build. Fix all the comments and show me screenshots of the changes.

When I say screenshots of the changes, I mean the changes running in the game. I should have been clearer about that

@TariqTheCoder
Copy link
Author

Hi @dani0105 I am having trouble compiling the mod and running it in game. How can I do this?

@dani0105
Copy link
Member

dani0105 commented Jan 6, 2026

Place all DLLs from the "Managed" folder into the "Dependencies" folder. Compile the mod using Visual Studio Community. Once compiled, the mod's DLL will be located at /bin/debug/MorePartsMod.dll. Then, copy the DLL file to the "DLLs" folder on your Unity project and compile the mod.

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.

2 participants