Skip to content

3.0.0

Choose a tag to compare

@Orange-Panda Orange-Panda released this 26 Jan 03:42
· 4 commits to main since this release

This major release uproots a lot of longstanding issues with the infrastructure and organization of this package and therefore has many breaking changes. You will almost assuredly have to update your implementations and scripts will likely not compile and need to be updated upon updating to this release from a previous version.

Added

  • Add SetA(this Color, float) extension method
  • Add a few methods to GameFile to specify type of file to write
  • Add StringComparer parameter to LookupTable constructor allowing customization of how keys are compared.
  • Add TryGetPreviousTab and TryGetNextTab functions to TabGroup
  • Add OverflowScrolling public get-only property to TabGroup
  • Add ActionInvoked event to ActionEmitter
  • Add FocusEveryFrame property to AutoScroll component to control the active state of the component

Changed

  • ⚠️Breaking: Most classes have been moved to a new namespace to separate the package into different groups (to avoid some name conflicts)
    • Editor: LMirman.Utilities -> LMirman.Utilities.Editor
    • UI: LMirman.Utilities -> LMirman.Utilities.UI
    • Object Pool: LMirman.Utilities -> LMirman.Utilities.ObjectPool
    • Lookup Table: LMirman.Utilities -> LMirman.Utilities.LookupTable
    • Editor Tests: LMirman.Utilities.Tests.Editor
    • Runtime Tests: LMirman.Utilities.Tests.Runtime
    • All other classes are in the LMirman.Utilities namespace
  • ⚠️Breaking: Rename GameFile events to no longer begin with On term
  • ⚠️Breaking: Adjust the accessibility of many UI functions and fields
  • ⚠️Breaking: ActionEmitter no longer invokes ActionsUpdated event when an ActionEvent is invoked (use newly created ActionInvoked event if relevant)
  • ⚠️Breaking: ConfirmationWindow canvas field has been removed and moved to the signature of UIFunctions.CreateConfirmationWindow
  • ⚠️Breaking: UIFunctions.CreateConfirmationWindow no longer loads the confirmation window through Resources.Load("UI/Confirmation Window"), the prefab must be provided via argument
  • ⚠️Breaking: Change implementation of public serialized fields in OverlayEntry to protected serialized fields with public get-only properties
  • Update some extension methods to have [Pure] attribute, notifying if return value is unused (these methods have no consequences if return value unused)
  • The InBounds extension method now targets the ICollection interface allowing it to be used generically instead of just arrays and lists.
  • Improved documentation of many public methods (especially GameFile)
  • Confirmation window creation via UIFunctions.CreateConfirmationWindow now runs the Close event on previous window when creating a new window
  • Exposed UIFunctions.CreateConfirmationWindow creation through MostRecentConfirmation static property
  • Expose many ConfirmationWindow fields and methods to protected level to enable some custom behavior via inheritance

GitHub Tag Change

  • Going forward releases will no longer have the v prefix
    • Tags for previous releases will not be modified