8,451 Commits over 2,131 Days - 0.17cph!
Bah, lots of refactoring, simplifying, making things make sense
Checking character changes instead of user changes
Game end triggers (see GameModeTriggerSettings.cs)
Checked that into the wrong bastard branch
Safe to return false from should serialize for now.
Game mode system refactor. Working a lot better
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.
Working on porting ZGameMode to the new GameMode system, and adding features to the system as it progresses.
- 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.
Semi-porting the ZGameMode to the new system
GameMode custom prefabs no longer HAVE to be networked. Use them just to store data on the server if you like
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
Better(?) way to access current active game mode on server or client
Merge in Bill Ford's changes from Main
Game modes now have custom handler for spawn/respawn
Mostly just cleaned up the asset creation menu
Improved WiseGuysTools mode selection interface
Game mode definitions can now hold NPC spawn data. Could do with a nicer Inspector interface though.
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.
Merge in all Bill Ford's fixes
Steam server registration
Clients can now reconnect bug free.
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.
Fallbacks for physics overrides when not on a listen server