Skip to content

Latest commit

 

History

History
300 lines (170 loc) · 7.65 KB

File metadata and controls

300 lines (170 loc) · 7.65 KB

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[2.7.1] - 2025-11-19

Added

  • Default constructors for IntegerRange, FloatRange and Vector3Range

[2.7.0] - 2025-09-09

Added

  • AsyncLock helper class to work as an awaitable and disposable semaphore.

Fixed

  • Fixed some formatting issues in the readme.

[2.6.0] - 2025-05-26

Added

  • Add ScriptableSingletonFileReloader: reloads the instance of the target scriptable singleton when the file is modified outside of Unity

Changed

  • Update package display name from FC - Common Code to Common Code
  • Update CHANGELOG formatting

[2.5.0] - 2025-05-13

Added

  • Added MultiSelectDropdown class and inheritors to help creating editor dropdowns to select multiple items.

[2.4.0] - 2025-05-09

Added

  • Add utility functions for the inspector:
    • InspectorUtils.SetIndentScope: use EditorGUI.IndentScope to set the editor GUI indent level
    • InspectorUtils.DrawHelpbox: draw a helpbox with the specified message and severity at given position
  • Add RectExtensions class: provides extensions functions for Rect

[2.3.2] - 2025-04-18

Changed

  • Update SubAssetPicker drawer to display mixed values and disable picker when multiple objects with different values are selected

Fixed

  • Fix SubAssetPicker would not work with items of serialized lists and arrays
  • Fix SubAssetPicker would not search for derived classes in other assemblies than the base type's assembly
  • Fix tried to show the SubAssetPicker context menu as many times as there are derived types

[2.3.1] - 2025-04-04

Fixed

  • Path used in CreatePrefab is now relative to project folder.

[2.3.0] - 2024-07-25

Fixed

  • Add OnDestroy method to set Singleton static instance to null when object is destroyed, this fixes a memory leak when destroying singletons

[2.2.0] - 2024-06-03

Added

  • Add SerializableInterface struct: used to reference objects that implement a specific interface
  • Add CustomObjectField: used to draw customized object field with more functionality than EditorGUILayout.ObjectField

Changed

  • Moved HideInCreateAssetDropdownAttribute inside FishingCactus.CommonCode namespace

[2.1.0] - 2024-05-23

Added

  • Add HideInCreateAssetDropdownAttribute: scriptable object classes that define this attribute are hidden in the create asset dropdown

Fixed

  • Fix an null ref exception inside MathematicsVectorContextMenu that prevented context menus from being displayed on specific properties on certain components (eg: rotation property on Transform)

[2.0.0] - 2024-04-29

Added

  • Summary in readme

Changed

  • Files reorganized
  • StringHelper methods are now extensions in StringExtensions
  • Utility script names are more consistent
  • Namespaces added or updated from FishingCactus to FishingCactus.CommonCode

[1.2.1] - 2024-05-06

Added

  • Add MATHEMATICS_AVAILABLE symbol when com.unity.mathematics is used for code that depends on Mathematics

[1.2.0] - 2024-04-24

Added

  • Add ReflectionUtilities static class
    • Get implementation types from base type
    • Create instances of implementation types from base type
  • Add SelectImplementationDropdown to select the implementation of a base type in the inspector
  • Add property context menu utilities scripts:
    • Add IPropertyContextMenuCallback and PropertyContextMenuCallbackFetcher to make it easier to add custom property context menus
    • Add CreateAssetContextMenu to quickly create scriptable objects by selecting an implementation
    • Add VectorContextMenu to quickly set values of vectors
  • Add HierarchyScriptDropHandler which allows people to drag and drop scripts inside the scene hierarchy to directly create an empty game object with the script attached
  • Add ReorderableSubAssetList which allows to create sub assets in a list by selecting the implementation
  • Add HierarchyUtilities with utility functions to rename and create game objects in the scene hierarchy
  • Add utility functions in InspectorUtilities to get the type of a serialized property that works for lists and arrays

Changed

  • Update .editorconfig
    • correct indentation for brackets inside switch-cases
    • suggest empty line after code blocks
    • suggest brackets for code blocks statements
    • suggest snake_case for local variables and parameters

[1.1.2] - 2024-04-11

Added

  • Add publish config in package.json

Changed

  • Changed SerializableDictionary.KeyCollection implementation of ICollection.Contains to not be explicit (public)
  • Changed SerializableDictionary.ValueCollection implementation of ICollection.Contains to not be explicit (public)

[1.1.1] - 2024-04-11

Changed

  • Optional.TryGetValueOrDefault now uses "default" as a default parameter value

[1.1.0] - 2024-02-29

Added

  • Add structs for readonly and garbage free iterating over commonly used collections:
    • ReadOnlySerializableDictionary
    • ReadOnlyList
    • ReadOnlyDictionary
    • ReadOnlyHashSet
    • ReadOnlyQueue
    • ReadOnlyStack

Changed

  • No more memory is allocated when iterating with a foreach loop over SerializableDictionary, or its Key or Value properties
    • This uses custom enumerators structs types which handle the enumeration
  • No more memory is allocated when getting the keys and values collections of a SerializableDuctionary
    • This uses custom KeyCollection and ValueCollection types similarly to what is done in .NET dictionaries

[1.0.20] - 2024-02-29

Changed

  • FloatRange and IntegerRange drawers: toggle on label click

[1.0.19] - 2024-01-05

Added

  • Add Optional::TryGetValueOrDefault function
  • Add .editorconfig for VS users

[1.0.18] - 2023-11-13

Added

  • Add SubClassPicker attribute

[1.0.17] - 2023-10-27

Changed

  • Doc comment for MathMod + rectify the example

[1.0.16] - 2023-10-16

Added

  • Add CustomPropertyDrawer attribute to EnumDictionary's property drawer

[1.0.15] - 2023-10-04

Added

  • Add NetworkStatusChecker to check for Internet availability

[1.0.14] - 2023-10-03

Changed

  • Add missing namespace around SerializableDictionary class.

[1.0.13] - 2023-09-13

Changed

  • Singleton: add option for destroy on load.

[1.0.12] - 2023-07-12

Added

  • Add EnumHelper GetToggledFlagsCount & Clamp IComparable functions.

[1.0.11] - 2023-07-07

Added

  • Add mathmod function.

[1.0.10] - 2023-06-14

Changed

  • CreateNewPrefab tools : folder selection added, last used folder path stored in EditorPlayerPrefs.

[1.0.9] - 2023-05-11

Added

  • SerializableDictionary: add explicit implementation of IReadOnlyDictionary

[1.0.8] - 2023-05-09

Added

  • Add implicit operator to create an enabled Optional from a T value

[1.0.7] - 2023-04-26

Added

  • Add method to EnumHelper to get a random value in a specific range

[1.0.6] - 2023-03-10

Fix

  • Fix EnumDictionary foldout & position.

[1.0.5] - 2023-02-23

Fix

  • Remove Task delegate because useless and was preventing System.Threading.Tasks.Task to be used in FishingCactus without specifying the whole path.

[1.0.4] - 2022-01-27

Added

  • Add Max attribute for integer and float fields and Optional helper struct

[1.0.3] - 2022-08-09

Fix

  • Fix SerializableDictionary setter bug for existing keys

[1.0.2] - 2022-05-25

Added

  • Add WizzardUtils.DisplayPathSelector().

[1.0.1] - 2022-05-25

Added

  • Add SerializableDictionary utility.

[1.0.0] - 2022-03-31

Added

  • First version of the package.