- Rebased to 1.10.0-rc.4 because the inspector of SubMenu of source Expressions Menu were broken in the base commit this branch initially started with, which was preventing testing some aspects raised during review.
- When this is being rendered as part of an SubMenu of source Expressions Menu, don't use any of the label logic, as menu items within such an Expressions Menu are not backed by any GameObject.
- Rename _isTryingRichLabel to _useLabel.
- Since switching to unlinked always overwrites the label field with the current ObjectName, and switching to linked always empties the label field, the state of _useLabel while the Inspector is open is implied by the value of the label field, or the previous state of the _useLabel field itself when the label field is being emptied out.
- In addition, use the |= operator.
- When the name is linked, and the user begins typing the "<" character, set the label field, and do not apply the name. This will automatically switch to linked mode as the inspector will be reevaluated a second time.
- If the original object name already contains a "<" character (i.e. it comes from a previous version of Modular Avatar), there will be no automatic conversion happening as long as the object name still contains the "<" character.
- Changed the localization keys to discard the rich text toggle aspect.
- Not addressed: When multiple Menu Item components are selected, the behaviour of the inspector currently edits the GameObject name, with no link button, and no automatic conversion when typing "<", regardless of the contents of the label field.
- Add a link/unlink icon to the right of the name field.
- Only show the rich text preview when there is the character '<' in the label field.
- Toggling link from ON to OFF will set the label to the current GameObject name.
Apparently, it's safe to use Unity objects as keys in HashMaps, and doing
so actually fixes some edge cases where assets are recreated as a new C# object.
* feat: enhance default value field input
* fix: format default value when update type or value on parameters inspector
* fix: don't accept NaN and Infinity for default value setting
* fix: init menu item settings only when added manually from inspector
* fix: init menu item settings when added from some shortcuts
* fix: init menu item settings when reset from context menu
* fix: init merge animator settings only when added manually from inspector
* feat: add material switcher
Also refactor everything...
* refactor: simplify object curve handling
* refactor: additional refactoring and bugfixes
* feat: inverse mode
* feat: add material setter inspector UI
* chore: set material setter icon
* chore: fix error on build
* chore: adjust order of inverted element
* refactor: generalize support for arbitrary parameters as conditions
* feat: automatically assign Menu Item parameters
* feat: ReactiveComponents respond to MenuItems
* feat: AvatarObjectReference tracks both paths and direct object references
* feat: set isSaved/isSynced/default values from MenuItem
* feat: Object Toggle preview supports menu items and manipulating parent objects
* feat: reactive previews respond to menu item default value states
* chore: update NDMF dependency
* fix: NullReferenceError while deleting a GameObject with parameter usage UI open
* fix: NullRefException from editor when moving a Menu Installer outside of an avatar