8,451 Commits over 2,131 Days - 0.17cph!
Game modes now have character events available to override. Added a WeakEvent class for memory leak safety.
Can get NumListeners from your weak ref event
Moving character events around
Simplified NetworkGameMode creation events. Decided AutoFiringEvent was trying too hard to be clever
Re added the notification stuff
Fixed location event bugs
More character event stuff
Fix for buildings with no units
Merge in my branch. Lots of changes around the place, but the main addition that's noticeable is that NetworkGameMode implementations can utilise four new virtual character location-based methods: OnCharacterBuildingUnitEnter, OnCharacterBuildingUnitExit, OnCharacterSellZoneEnter, OnCharacterSellZoneExit.
Changed NetworkGameMode start/end triggers to ScriptableObjects per Bill F's suggestion
Added basic game starting criteria
Most of the game mode seems to be working.
Fixed some UI errors etc.
Just needs testing now...
Finish off removing the hack on UI text. Make it work nicely with the new system.
Merge: Finish off removing the hack on UI text. Make it work nicely with the new system.
Game modes can decide if they support shops or not. Also added some standard colour definitions to keep things consistent through the project.
Various little game mode UI fixes.
Few more UI fixes, start and end message can now be customised per game mode.
More fixes. Character now stores information about who killed them, also used in the prevcharacterinfo class.
Fixed wrong end game message
Remove the crime dependency for now.
Added a quick label and NPCs
Fix for Networking SpawnQueue fuckup
import texture settings reduced
Major overhaul where I try to clean up some singletons, especially NetSCSingleton and MonoSCSingleton which were trying to be singletons and also handle the fact that listen servers would have two copies - one for the server side, and one for the client. I've now managed to remove those classes entirely. All shared managers etc that are per-level, like CharacterManager and ItemManager, instead of being singletons, are now referenced via the NetworkPeer object in the same way that NetworkUserManager etc are (though note they may not exist right away when NetworkPeer is created). Thus a lot of server/client checking code has been removed and replaced with simple NetworkPeer or NetworkClient/NetworkServer references.
Merge my branch into main
Added the basics for carryable entities
Moved some code around. Handling picking on client better too.
Carryables get parented to the right bone with an offset on client