unitystation / unitystation

The original unitystation
https://unitystation.org
GNU Affero General Public License v3.0
704 stars 648 forks source link

Adds multiple character selection #6313

Closed MaxIsJoe closed 3 years ago

MaxIsJoe commented 3 years ago

Purpose

Ticks one box from #6276 Adds multiple characters support and the ability to select between them.

Notes:

After a bit of struggling with unity's cameras and loading images, It's done! Players now can create an unlimited amount of characters to choose from to roleplay as!

How does this work? All characters are currently stored in a JSON file with all their data and customizations, when the character page opens it loads that JSON file and adds all characters to a list that the player can browse in a new (functional but not all that pretty) UI. Just land on the character you want to use then that's your character that you'll be using for this round. Don't have a character? Want to edit your current character? no worries, you can do that from the two buttons at the bottom of the the character selector page.

This PR doesn't just come with a character selector, I've also added in two scripts at the request of Bod to capture pictures of the game/UI. This can be used later when we work on fixing the security console and add in some functionality to cameras so we can say cheese.

PS : I've been told that the UI/UX peeps will handle the looks of this later so I've prioritized functionality over shininess.

Changelog:

CL: Multiple character sheets are now supported. CL: Humans will no longer have wrong skin tones when switching between species.

PerfectTangent commented 3 years ago

when you want to make sure maintainers can't merge a PR that isn't quite finished, you can instead open it as a draft PR.

MaxIsJoe commented 3 years ago

when you want to make sure maintainers can't merge a PR that isn't quite finished, you can instead open it as a draft PR.

Will keep in mind that for next time

PerfectTangent commented 3 years ago

for your transgressions, I will now speedmerge this PR /s

MaxIsJoe commented 3 years ago

for your transgressions, I will now speedmerge this PR /s

image

MrAsbestos commented 3 years ago

Hey btw you can actually convert it into draft

Look around here image

MaxIsJoe commented 3 years ago

For some reason the camera refuses to render anything which as a result ends up outputting empty pictures. anyone knows why this is happening?

MaxIsJoe commented 3 years ago

Why is this tagged with "Animation" ?

PerfectTangent commented 3 years ago

because working with cameras and capturing static sprite compositions is animation as far as unity is concerned. Read the description of the label to see the general scope that it covers.

PerfectTangent commented 3 years ago

@Bod9001 can you help us diagnose some of the bugs we've been experiencing with the character customizer and saving characters?

Bod9001 commented 3 years ago

oh? what would you like me to work on

MaxIsJoe commented 3 years ago

oh? what would you like me to work on

Characters are being saved incorrectly, where for some reason the game will save two indexes instead of one for no reason even though I have explicitly told it multiple times to save the current character I'm creating/editing instead of the older ones.

MaxIsJoe commented 3 years ago

Requesting a new review and testing for all the new fixes. Bod's help may no longer be needed.

Edit, not sure what's with codacy and async. Anyone can explain why it wants me to make that change?

MaxIsJoe commented 3 years ago

Anything else needs to be checked?

PerfectTangent commented 3 years ago

I'd like to give it another go in the editor when I wake up

Bod9001 commented 3 years ago

oh yeah does this have the box for serialising and de-serialising text you input for the character selected?

MaxIsJoe commented 3 years ago

oh yeah does this have the box for serialising and de-serialising text you input for the character selected?

Yep, just edit or create a new character and give it a character or get your character's json thingy.

Bod9001 commented 3 years ago

ok cool, can merge after resolving conflict

MaxIsJoe commented 3 years ago

ok cool, can merge after resolving conflict

There are a few minor issues listed by @PerfectTangent , these issues may or may have not been fixed so until we've made sure that characters no longer spawn with wrong character sheets we shouldn't merge this. Note : Issues like "Lizards not having their tails colored" or #6323 are not covered under this PR. This is mainly to add the ability to switch between characters, not introduce any other fixes or changes as they're going to be covered under different PRs for #6276 .

Someone test this PR a couple more times and report any issues you find related to character switching.

PerfectTangent commented 3 years ago

agreed. tagged appropriately

MaxIsJoe commented 3 years ago

I've fixed some more issues for the character creator, ready for one more review. There should be no longer any issues related to characters spawning with wrong sheets, editing the wrong character sheets, buttons not being clickable and layering issues when capturing previews.

MaxIsJoe commented 3 years ago

Everything seems to be fine from testing, no more issues related to this PR.

We can merge now.

MaxIsJoe commented 3 years ago

Whoops, I forgot to push this change 2 days ago. Codacy can now shut the fuck up about this task/void error.

Reminder again, we're done with this PR. We're ready to merge.

MaxIsJoe commented 3 years ago

ok for real this time, no more issues.