branchwiseguys/main/Network_Refactor/Build/GameModesSupportcancel
88 Commits over 0 Days - ∞cph!
Really basic framework for game modes stored in ScriptableObjects. Game mode is selected, loaded, and passed to connecting clients (via name). Bootstrap stores the data on all potential game modes.
Merge in all Bill Ford's fixes
Character type/role refactor with a view to supporting game modes. Character types can now be defined as individual ScriptableObjects (see the new Resources/character/character.types folder), with no limit on the number of configurations. These will then be assigned to Game Mode objects as NPC types to spawn, or player spawn types. Starting inventory can be customised as well.
Game mode definitions can now hold NPC spawn data. Could do with a nicer Inspector interface though.
Improved WiseGuysTools mode selection interface
Mostly just cleaned up the asset creation menu
Game modes now have custom handler for spawn/respawn
Merge in Bill Ford's changes from Main
Better(?) way to access current active game mode on server or client
GameModes can now create a custom NetworkEntity and destroy it on game end, allowing for fully custom per-game-mode code, or sharing data from server to clients
GameMode custom prefabs no longer HAVE to be networked. Use them just to store data on the server if you like
Semi-porting the ZGameMode to the new system
- Moved network physics checks (Bill F's ones for listen servers) out of NetworkEntity and into GamePhysics, since all they need as a reference is any GameObject, and this allows things without a NetworkEntity to use them.
- Fixed explosion damage not working correctly on listen servers.
Working on porting ZGameMode to the new GameMode system, and adding features to the system as it progresses.
Going to do game modes a bit differently I think, as the sort of building block system I have now is getting a bit unwieldy. Committing some more work I have so far. Also merge from Main.
Game mode system refactor. Working a lot better
Game end triggers (see GameModeTriggerSettings.cs)
Checking character changes instead of user changes
Bah, lots of refactoring, simplifying, making things make sense
More general game mode stuff
Minor fixes for load order
A bunch of work getting the right ordering and counts on triggers etc
Round start countdown with UI
Game mode game round handling
Allow showing server console in editor again, making it an option in WiseGuysTools. Removed the no-longer-used skipInitialSpawnScreen toggle.
My static character lists didn't work on listen servers. :( Changed to a CharacterManager that can have separate Client and Server versions.
Main change here is actually bumping the project .NET version so that I could use ObservableCollection.
Big refactor to how game modes run. Will be some bugs, but this is better. Bit more like Bill F's original zombie mode as well.
Stop the plane getting pushed around by NPCs riding it in listen server mode
Fixed zombie respawn issue, and IsServer door definition spam
Fixing game mode transition issues
Transitions between different game mode states working nicely