Its been a quiet few weeks now. Iโm mostly been taking some time to organise some bits in Notion and take some time away from game dev in the evenings to take a break. Iโm still taking it easy for now but I did want to get this update out which was mostly complete before I took the break. I do have other bits planned including major updates to the Save Manager etc. But these may be delayed a bit longer due to the update needing to be a major one due to incompatibility with the save structure in 2.x. Iโd expect some progress there in the autumn or winter if I were to guess. Though it maybe as far as next year.
Update notes
Changes
- Log system rework
- Categories for filtering which logs are shown.
- Updated flow to allow for sub-type on a category for extra context of the class the log is firing from in the message.
- You can make additional categories by making classes that inherit from the CartLogCategory class.
- Categories can now be toggled from the settings provider for the library.
// A log category definition.
public sealed class LogCategoryCore : CartLogCategory { }
- Improved module management flow and GUI
- New install & uninstall flow setup which should error less often.
- Updated GUI look for the setup.
- Several modules updated to function with the new updates.
- New editors for data assets related to the system.
- Data module
- The module is now in the core library.
- Removed the cart internal asset setup for simplicity (was a clone of data for internal use in earlier versions).
- Dependency for Notion Data module to need data module removed.
- Panels system update
- New custom editors for all elements.
- Transitions are now separated from the panel class.
- Added toggle button for panels in editor.
- Renamed the PanelE class to be clearer as to what it is.
- Time format setup
- Format timespans/int/float/double easily to a nice string format for readability.
- You can make your own by implementing the ITimeFormatter component on a class (non-Monobehaviour).
// Example time formatter implementation.
public class TimeFormatterDayHourMinSecDetailed : ITimeFormatter
{
public string Format(TimeSpan timeSpan)
{
// Your logic here...
}
}
- Some general clean up in places, but a fair bit more to do in future updates.
Fixes
- Fixed modules installing in the wrong location when the asset wasnโt in the base install location.
- Fixed a few edge case issues with module flows. Of which there were many.
- Settings provider no longer shows the modules section if none with settings providers are installed.
- Fixed menu item structure to be ordered correctly.
- Added missing header comments on some scripts and ensured all new ones also have the header.
A fairly chunky update with a lot of content, but I do need to go through an finish commenting up bits and start working on some docs for all these systems before I go and add any more large systems to the library. So 0.7.0 updates will all be docs, bug fixes and minor updates to existing code. I do have some decent updates planned for future releases, such as remote config, google sheets data and more.
That’s all for now
J,