branchwiseguys/main/IPlayercancel
43 Commits over 0 Days - ∞cph!
Move local character static getters from WiseguysUser into PCWorldEntityUser
No more errors when disconnecting. Will do some more thorough testing tomorrow.
Moved WorldEntityUser and Allies out into separate PlayerComponents. Major cleanup of WiseguysUser moving a lot of junk out - should make it easier for Bill to port down into NetworkUser. Still some tidying up that could be done and testing to do. Some NREs on disconnection that I'll look at later this evening, gotta go now.
User allies cache the ally list. Simplified player label updates and removed the need for the complicated event checking.
Fix criminal script on NPCs
Fixed UserStats not serializing
Updated scoreboard to use the new ReadyPlayerSelections synced to the client. Team selections aren't working though
Making PCUserAllies into an optional component script that only Whacky Races uses at the moment. Added ally checking methods to WiseguysUser, and a new IAllyComponent interface, so any IPlayerComponent can implement a custom ally system for a particular game mode.
Add bill_b_test_map to the build settings at its new location
Added a param to NetworkUser to mark if it's initial creation or just a reconnect. Only calling creation stuff when it's actually first created.
Remove remaining PersistentPerson references
Fixed some init order issues that were breaking things once another player joined
Fixed criminal init issues
Fixed PlayerComponent adds properly
Getting PCCriminal working
Made a base PlayerComponent class. Don't need IPlayerComponent anymore since we can reference PlayerComponent instead. Still need to finish sorting out PCCriminal.
Remove spammy debug prints
Fixed the missing checkpoint arrow shader
Finished conversion of PCUserStats. Stats now serialize to the client.
Reverted my changes to PlayerTick, as it won't actually work if unreliable messages are lost.
Added simple SerializeTemplate example class
Moving and renaming classes files only, no actual changes here. Give IPlayerComponents a "PC" prefix
UserStats SerializableStruct
Added helper methods for calling some event method on all IPlayerComponents of the appropriate type
New ICharacterEvents that can be optionally called on IPlayerComponents. Also shuffled some things around.
Move scripts to different folder
WorldEntityUser events now work on the client as well + fixed a couple of minor bugs.
WorldEntityUser events now work on the client as well
Fixes the "skip start requirements" spectate visuals bug
Fixed errors on 'kill' command
Fixed NetworkUser/WiseguysUser serialization, some bugs etc. Can actually get into the game now. Threw out GameData.NetworkUser entirely as it was already 90% replaced by the new basic Writes in NetworkUser base and was just sending redundant data. Only CustomAllies remain and I think I'll make them into an IPlayerComponent instead.
- Removed PersistentPerson and PersistentPersonPlayer.
- PlayableCharacter now references WiseguysUser instead of PersistentPerson.
- The new WorldEntityUser handles the character/spectator spawn & reference stuff that PersistentPerson used to handle.
- Removed BuildingUnitOccupiers as we no longer use the building takeover stuff, and it should be made game-mode-specific now if we need it back.
- Stuck GangMember in WiseguysUser for now to make things compile, but probably want to replace it entirely with an IPlayerComponent gang member equivalent?
Better ignore settings. Ignore all csproj and sln EXCEPT inside the Plugins folder
And now add them to the ignore list so they don't come back
Remove all those new csproj files.