#TooManySuits
1236 messages Β· Page 2 of 2 (latest)
throw this into your plugins if you wanna test, I still need to test if multiplayer is all good or not.
my friend is getting on soon.
Oh and the asset bundle is inside the dll as an embedded resource so you can delete SuitSelect
Did you try to tackle the moving text?
I will probably never fix that
I position it based on the bounds of the ship, which are not updated when the ship moves
so basically I have no way of actually knowing where the ship is
the position is offset from the ship bounds
but..
you see that isn't the issue there
private void SetPageText()
{
var textMesh = Hooks.SuitPanel.GetComponentInChildren<TextMeshProUGUI>();
textMesh.text = $"Page {_currentPage + 1}/{Mathf.CeilToInt((float)_suitsLength / _suitsPerPage)}";
}```
this is rn
Whats wrong with that
hold on
I don't even do that anymore, I just do the Mathf to the actual total pages value before hand I'm pretty sure.
Updated:
Yeah
yeah thats not what I'm talking about hold on
private void SetPageText()
{
var textMesh = Hooks.SuitPanel.GetComponentInChildren<TextMeshProUGUI>();
if (StartOfRound.Instance.shipHasLanded)
{
textMesh.text = $"Page {_currentPage + 1}/{Mathf.CeilToInt((float)_suitsLength / _suitsPerPage)}";
}
else
{
textMesh.text = $""; // makes it blank if the ship is moving
}
}
[HarmonyPatch(typeof(StartOfRound), "ArriveAtLevel")]
public static class smunguss
{
static void postfix()
{
SetPageText(); // calls it when the ship goes to the level
}
}```
maybe add another call to it right after it lands so you don't have to press a key for it to appear again
so its still there but this should just make it blank automatically when you start landing on a moon
you could also add another 2 calls to it for when the ship leaves (automatically or not) and when it shows the endgamestats
seems like a lot of effort for a visual bug that causes no harm
I mean yeah but I have ocd probably so I do that sometimes lol
No one's ever really cared about it, and setting it to be nothing isn't really a fix for the issue, and it would require a bunch of hooks to functions to determine if we'd landed, took off, or in space etc
Also If and else are not really needed here.
You could do this instead:
var textMesh = TooManySuits.SuitRackPrefab.GetComponentInChildren<TextMeshProUGUI>();
if (textMesh != null)
{
textMesh.text = StartOfRound.Instance.shipHasLanded ? $"Page {CurrentPage + 1}/{_totalPages}" : "";
}
I do love ternary operators
never used ternary operators
They're pretty cool
but this is easier to remember:
private void SetPageText()
{
var textMesh = Hooks.SuitPanel.GetComponentInChildren<TextMeshProUGUI>();
if (StartOfRound.Instance.shipHasLanded)
{
textMesh.text = $"Page {_currentPage + 1}/{Mathf.CeilToInt((float)_suitsLength / _suitsPerPage)}";
return;
}
textMesh.text = $""; // makes it blank if the ship is moving
}
the is only set to "" if statements condition is never met, because the function doesn't return;
just cleans up the code a little bit thats all
wouldn't that set it to be blank always since its set after?
oh I didn't see the return
also you can put [HarmonyPostfix] to the method that way it doesn't need to be called postfix
oh ok, I know you can do that but I didn't understand why
so then you can call it whenever and its called at the hook
What do you mean?
you can call the method whenever then yeah?
since its not just PostFix
but ig the class itself already would differentiate it
Well the attribute tells Harmony that its a postfix, and yeah I guess you can call the method yourself but idk why you'd want to do that
the whole point is that its called after or before the function its hooking
yeah but if you use the method for something else ig
This should have all issues fixed.
Sent out an official update to thunderstore, let me know if there are any bugs
the spacing is copied directly from the vanilla code
if you go over 20 it'll go over Β―_(γ)_/Β―
my mod is not supposed to fix that issue by squishing them together, like I said.
Its pagination.
Any plans of incorporating TooManySuitsWorldButtons functionality into toomanysuits?
It kinda broke now
the mod developer will need to update his mod to be compatible with my update.
It seems like suits don't want to sync unless other players have visited all pages.
ah I remember trying to figure out that issue, think this is the likely culprit https://github.com/VerityIncorporated/TooManySuits/blob/f74b730eecde86621d1e091b5bd5d48f9a872345/TooManySuits/UI/PaginationController.cs#L86C49-L86C59
setting the suit gameObject to false for some reason causes issues with actually equipping it
huh, that's weird...
what if we disabled the Renderer + Interact component instead of disabling the GO?
yeah Legonzaur ended up sending me this PR as a workaround which seems to work fine with my mod https://github.com/darmuh/suitsTerminal/pull/11/commits/98b19e79ff239df32422dd7f75c4af40f57cac1c
basically disables the SkinnedMeshRenderer and MeshRenderer components specifically rather than the gameobject
I imagine you could prob incorporate a similar fix for TooManySuits
π
if that is the issue. I'm not 100% certain
I'll give it a shot tmrw probably
I just remember trying to figure out if my mod caused the issue a while back and was happy to find out it wasnt me 
thank you for the lead though
would be nice to see this mod work with no issues with mine 
That was it. By disabling the gameObject, the UnlockableSuit component never got initialized, which is responsible for registering the suit (and its networking).
ooo nice! I guess submit a PR and wait for OP to take a look π
This has been a known issue for a long time
I appreciate you making a pull request
you're welcome π
I just merged it
got some more PRs in the pipeline if you wanna wait for a release
Ill push an update to TooManySuits on thunderstore as well
Depends how important they are
yeah lol
:D
Yeah I saw it so many times, I just could never get it to work properly
like the offsets from where the ships object starts were different for some reason
I'm working on another one that makes the project easier to build and just some housekeeping/cleanup
Sounds good, just let me know when you're done and ill make a release
I think I remember why I didn't visibly hide the suits
because they would still be there, you could still select them even while they were invisible
thats why I went with disabling the whole object
yeah, that was a bit of a pain. Disabling the Interact component wasn't enough. I also had to disable the collider
interesting, wonder why I didnt need to do that for suitsTerminal
I'm guessing it's because I set disableObject to true in my case? Is that property available for unlockableSuit?
worth noting that property is different than gameObject.SetActive
idk much about Unity, but that member doesn't exist on my end.
hmmm, must have been a difference in how we access the suits then. It's a property of AutoParentToShip which is what my code I linked earlier accesses for each suit
i doubt there's much of an impactful difference from the user's standpoint though
@hidden nebula would you mind adding a license to the repo? MIT maybe?
Yeah will do
thanks
Done
@hidden nebula https://github.com/VerityIncorporated/TooManySuits/pull/13
It uses <PackageReference>s now, so no need to copy files over to the Includes folder.
Also included a zip MSBuild target, so you can just build in the Release configuration (dotnet build -c Release) and it will create bin/Release/netstandard2.1/package.zip, ready to upload to Thunderstore.
It uses
<PackageReference>s now, so no need to copy files over to the Includes folder.
For MoreSuits, I resorted to reflection to access its config. You can see how I did it in this commit: https://github.com/VerityIncorporated/TooManySuits/pull/13/commits/efdda2a22a0cf06954f66a829d5eacea5fc46810
imma go make food now, feel free to @ me if you have any questions
I've done a PR to make LobbyCompatibility a soft dependency instead of a hard dependency https://github.com/VerityIncorporated/TooManySuits/pull/16
its getting spammed when i get in the game and exit to main menu
it stopped if i get back in a game
v1.1.1
im not sure if this is game breaking or not btu its just concerning when u just wanna do a quick reopen lobby
thats super weird
Ill take a look in a minute
how do I reproduce this issue?
Thanks boss
open the game, open a new/old save
exit to main menu
and there the error poppep up
Ill take a look now
thanks bro
Ah okay
I was confused what was going on
because a null check is right there
but I assume AutoParentToShip is expecting our game object
to be valid
which it might not be in the main menu
Okay I found the issue and its (not really a problem) just causes console spam which is annoying.
I will fix it now.
@light hawk I pushed the update
You'll have to wait for thunderstore to fully update before you can download it
thankk uu
ill test later 
π
Sorry for the inconvenience, I should've caught that in testing (I didn't have console open)
I think you got the most colorful syntax I've seen yet lmao
Pretty sure itβs just default Rider
I think this is open source if anybody can fix it to work with the latest TMS update? Or does anybody know how I could fix it? https://thunderstore.io/c/lethal-company/p/RT0405/TooManySuitsInWorldButtons/
I'm refactoring TMS as we speak. I'll see if I can add that feature.
awesome thank you!! i just like this feature for controller players to be able to switch pages without keybinding and all that
I actually just finished adding support for controller binds lol
lol damn, i mean that would work too but the interactive buttons make it super easy too
yeah, I'll do both because the default keybinds might not be obvious to new players
thank you soooo much!!
what do you think of these defaults:
- next page: north button
- previous page: east button
I don't play controller so I have no idea if these clash with default binds
west and east cyle inventory
dpad buttons you mean?
oops sorry yeh
ye
ah yeah it is
and LB and RB (5 and 6) i believe, we usualy maps those and the left stick press to emote wheels and stuff
but Y and B should be fine when at the rack
oh wait
B will drop items I think
oh sick
oh maybe bind the pages to the triggers??
left trigger sprints
yeh but while standing there at the suits should be ok?
oh yeah
I could do that
ig it would also toggle your flashlight (or whatever item you're holding) when pressing right trigger
but probably not an issue since most ppl configure suits early on before buying any items
well they're gonna be bound by default to the triggers
or would you rather not have default controller binds?
I would personally just so its easy to use out of the box lol
yeah that's what I'm thinking
well mainly my girlfriend uses controller and a couple friends
my gf said that sounds good enough for her lol
haha sounds good
thank you!
you're welcome :)
peelz why don't you have modder role?
oh uh, I haven't really published any meaningful mods π
just contributing to existing mods here and there for now
@worldly talon update should be live soon π
Why is InputUtils a dependency ?
Making InputUtils a dependency after removing the keybinds xd
Keybinds are planned to come back as optional? Or forgot to remove, after plans have changed?
Did it say they were removed?
Are you sure it just doesn't have the option to use binds or the actual buttons?
Yes
Prolly an oversight
Can happen, but I like the update
It was probably already a dependency and the dev forgot to remove it, tbh it's not a big deal as most mods use it anyways
In the previous version, it wasn't a dependency
Is just likely, that it was planned and forgotten
Also that, is not a bad mod to have
Never liked how more suits squeezed the suits (without moving the actions, to wear the suit you are looking at) and always turned MakeSuitsFitOnRack off
I hope they add the keybinds back. I liked using my keyboard to switch the suit pages.
I like the new way, it's straightforward and minus 2 keybinds, if you already have a lot because of mods,
but to have it optional wouldn't hurt
Ah my bad, forgot to remove it from the manifest when I was experimenting with it
for some reason i cant change the page with the arrows
Are you pressing E on them?
Oh it's with e? I was using left click
can it be mAtTE iNsTeAD oF gLoSsY?
It looks like that because it uses a lit shader, so it can interact with the lighting in the environment (mostly so that it doesn't stick out like a sore thumb when the lights are turned off).
There's no official HDRP lit shader for TextMeshPro, and I had to use some experimental shader that's been in development limbo for 2+ years. I can probably take another crack at it, but no promises.
Gotcha! I feel very nitpicky atm
Check if the posters around the ship uses some shaders. I'm not that knowledgebale, but that kind of look would accommodate it better imo
Other than that the mod is a godsent. Especially with the new in world buttons. Been using the 1.0.9 version for way too long
It has to be a TextMeshPro-specific shader. Other shaders won't do
feature idea, if it's possible, config option to enable one suit set per page (or two pages, if the set has many suits)
that's not really possible, unfortunately
Guessed it
Sent a PR that should tone down the sheen of the label.
I personally use a structure like this to have suits on specific pages:
moresuits
- Rack1
- moresuits
- 6 suits (+ 7 Vanilla)
- Rack2
- moresuits
- 13 suits
- Rack3
- moresuits
- 13 suits
- !less-suits.txt

any way you can add an option to move the whole rack entirely?
Sounds like something for another mod. You could post it in #1188298686560739389, if it doesn't exist already.