-
Notifications
You must be signed in to change notification settings - Fork 1
Release 1.0.0 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 1.0.0 #24
Conversation
- Fix delay timing bugs in PresenterDelayerBase (wrong delay, missing unit conversion) - Fix unit conversion in AnimationDelayer (remove incorrect * 1000 multiplication) - Fix null reference in UiService.GetOrLoadUiAsync - Fix DelayUiPresenterData<T> inheritance (wrong base class) All critical blocking bugs from the architecture evaluation are now resolved.
- Add null checks for AnimationDelayer clips - Add exception handling in UnloadUi and RemoveUiSet methods - Optimize ReadOnly properties to eliminate GC allocations - Fix CloseAllUi to avoid modification during iteration - Add CancellationToken support to async methods - Replace Task.Delay with UniTask.Delay for proper Unity patterns BREAKING CHANGE: IUiAssetLoader and IPresenterDelayer interfaces now use UniTask and CancellationToken
- Add Migration Guide, Performance Optimization, and Troubleshooting sections to README - Implement IDisposable pattern in UiService for proper cleanup - Add validation in Init() for configs, addressable addresses, and layer numbers BREAKING CHANGE: IUiServiceInit now extends IDisposable
- Add IUiAnalytics interface with performance tracking (load/open/close durations, counts, lifetime) - Add UiAnalytics implementation with custom callback support and UnityEvents - Integrate analytics tracking throughout UiService lifecycle operations - Add editor windows: Analytics, Layer Visualizer, Hierarchy, and UiPresenter inspector - Add AssemblyInfo for internal API access to editor tools - Update README with analytics documentation and editor tools guide
- Add GameUiConfigsEditor extending UiConfigsEditor<UiSetId> - Enable custom inspector visualization for UiConfigs asset - Provides type-safe UI configuration editor for game-specific UiSetId enum - Update the README and CHANGELOF documentation - Bumped the project version to 1.0.0
fix: fixed the scripts identation
…r composition architecture docs(samples): add feature composition examples - Core refactoring: Removed DelayUiPresenter, DelayUiToolkitPresenter, UiToolkitPresenter, and all Delayers classes. Added feature system (IPresenterFeature, PresenterFeatureBase, AnimationDelayFeature, TimeDelayFeature, UiToolkitPresenterFeature). Modified UiPresenter to support feature lifecycle hooks and simplified UiService. - Samples: Added sample implementations demonstrating feature composition patterns (BasicUiFlow, DataPresenter, DelayedPresenter, UiToolkit, DelayedUiToolkit, Analytics). - Configuration: Updated .gitignore to allow Samples~ folder.
…uration - Introduced DefaultUiConfigsEditor extending UiConfigsEditor with DefaultUiSetId enum for default UI sets. - Provides a ready-to-use editor implementation for UiConfigs, allowing users to easily customize their UI without additional setup.
fix(editor): ensure serialization updates before property binding refactor(editor): rename UI set enum values for clarity
…data refactor(ui-service): replace LoadedPresenters property with GetLoadedPresenters method refactor(editor): auto-set instance address from addressable address
chore(ui-service): improve analytics window help text
…e 1.0.0 version of the package
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
New:
IUiAnalyticsinterface andUiAnalyticsimplementation for performance trackingUiAnalyticsWindow,UiServiceHierarchyWindowUiConfigsEditorinspectorUiPresenterSceneGizmosfor visual debugging in Scene viewUiPresenterEditorcustom inspector with quick open/close buttonsUiInstanceIdstruct and instance addressesUiInstancestruct to encapsulate presenter metadata (type, address, presenter reference)IPresenterFeatureinterfacePresenterFeatureBasebase class for composable presenter featuresAnimationDelayFeatureandTimeDelayFeaturecomponents for delayed UI operationsUiToolkitPresenterFeaturefor UI Toolkit integrationDefaultUiConfigsEditorfor out-of-the-box UI configuration (no custom implementation required)Changed:
Task.DelaywithUniTask.Delaythroughout for better performance and WebGL compatibilityCloseAllUito avoid modifying collection during iterationUiService.Dispose()with proper cleanup of all presenters, layers, and asset loaderLoadUiAsync,OpenUiAsyncmethods now accept optionalCancellationTokenparameterLoadedPresentersproperty withGetLoadedPresenters()method for better encapsulationPresenterDelayerBaseto feature-based system (AnimationDelayFeature,TimeDelayFeature)UiConfigsEditorto use UI Toolkit with improved visuals and drag-and-drop supportDictionary,List) for better performance inUiServiceUiService(simplified initialization)Fixed:
GetOrLoadUiAsyncreturning null when loading new UI (now properly assigns return value)UnloadUiwith properTryGetValuechecksRemoveUiSetwith properTryGetValuechecksCloseAllUilogic