All ships now have their own properties, which are modifiers for the base ship properties.
The base behaviour of all ships can now be easily changed, while the individual differences are still respected.
Ship states now trigger particle emissions & effects. This is still messy and mixed with
sounds. Will be overhauled once ship state machine is introduced.
To calculate gravity you now need to specify the gravity source transform.
This wrapper essentially restricts the logger to the unity console, when using WebGL, while I don't need to change any Reference to LogManager or Log.Debug(etc) in my code.
Reading Assets from folders was only possible in Editor over LoadAssetFromPath. Now I'm using asset bundles for ScriptedObjects and Audio Prefabs, when the project is built.
When in Editor the folders are still used for convenience (can make changes to assets without rebuilding asset bundles)
A new AudioManager Method triggers a signal which is received by every
ManageableAudio instance. If the causer of the signal is the same transform as the parent of the ManageableAudio, a change in AudioEffects is caused.
Every sound in the game is now a ManageableAudio prefab.
The prefabs are picked up in an audio library automatically and other game objects
can get the sound they need from the AudioManager.
They obtain a ManageableAudio instance which offers various
methods to interact with the AudioSource.
Depending on how they request the ManageableAudio, the AudioSource
is attached to the requesting GameObject, to the Scene or the global management Scene.
This provides options to play sounds spatially, globally and scene independent.
The prefabs are identified by a tag and an ID, so it is easy to swap out sounds globally, by just replacing the prefab.
This can be seen as the initial state of the project after the released demo.
The changes include:
- New ship models
- Singleton manager structure to keep project scaleable in the future
- Managing players, their settings, character choices, statistics, match setups, controls etc. in a separate decoupled scene
- Main menu with transitions to the arena scene
- Beginnings of a custom audio solution
- Logging with Log4Net
It is really a complete overhaul of the projects structure and management.