Commit Graph

35 Commits

Author SHA1 Message Date
bd_
7967fcf121 fix: NullReferenceException in some cases when viewing MA Menu Item controls
Closes: #1383
2024-12-06 17:26:14 -08:00
bd_
6dcd63dde7
Merge branch 'main' into menu-richtext 2024-12-01 15:41:30 -08:00
bd_
d91c69835c feat: add API to open Menu Installer's selection UI
Closes: #1327
2024-12-01 15:40:57 -08:00
bd_
e68e176aa4
feat: allow multi-edit of "Is Default" when parameter names are empty (#1350) 2024-11-16 19:20:36 -08:00
bd_
d23b9f94a2
fix: empty MA Parameters names break auto param UI (#1346) 2024-11-16 19:02:37 -08:00
Haï~
3b067e4664
Make compatible with Unity 6 projects (#1232)
* Disable compilation for use in Unity 6 (6000.0.20f1):
- Do not compile some classes and code paths in non-VRChat projects.
- This has been tested in Unity 6 (6000.0.20f1).

* Fix hide internal components in Unity 6:
- [AddComponentMenu("")] does not work in Unity 6.
- Replace it with [AddComponentMenu("/")]
- This alternative is confirmed to also work in Unity 2022.

---------

Co-authored-by: Haï~ <hai-vr@users.noreply.github.com>
Co-authored-by: bd_ <bd_@nadena.dev>
2024-10-19 18:58:41 -07:00
bd_
5bafb0ba9d
fix: "extract menu to objects" does not set the target of its menu group properly (#1304)
Closes: #1297
2024-10-19 17:46:39 -07:00
bd_
11a62c88d4
fix: issues when handling VRCExpressionMenus with an uninitialized type field (#1303) 2024-10-19 17:46:31 -07:00
bd_
f85d455c8f fix: NRE issued when viewing Menu Item editor outside of an avatar 2024-10-01 20:14:58 -07:00
Haï~
94002e4594 review:
- Rebased to 1.10.0
- When editing multiple objects, always edit the label.
2024-10-01 21:28:54 +02:00
Haï~
c5e787045a review:
- 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.
2024-10-01 09:52:39 +02:00
Haï~
776f08be3f review:
- 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.
2024-10-01 09:52:39 +02:00
Haï~
b01b280f79 feat: menu name may use string field 2024-10-01 09:52:39 +02:00
bd_
b866628b24 chore: fix compiler warnings 2024-09-27 19:37:23 -07:00
bd_
a018df9219
chore: improve PropCache debuggability by adding a name property (#1209) 2024-09-25 20:01:59 -07:00
bd_
a98ef213ff
fix: performance issues with MAMenuItem (#1170)
Cache parameter introspection results (using PropCache) to avoid excessive
recomputation.

Closes: #1165
2024-09-17 20:25:47 -07:00
nekobako
c0582a9961
fix: non-backwards-compatible changes to component initial values (#1114)
* 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
2024-09-13 18:57:03 -07:00
bd_
0ee291076f
feat: Menu Item automatic values (#1098) 2024-09-03 19:07:33 -07:00
nekobako
c63128095e
fix: ArgumentNullException when selecting multiple Menu Item with same settings (#1097) 2024-09-03 18:51:36 -07:00
bd_
d403f1b178
ui: improve handling of saved/synced checkboxes on MenuItems with sibling items (#1095)
We will now force the state of all related MenuItems to match when the
synced/saved checkboxes are updated on the Menu Item UI.
2024-09-03 16:05:18 -07:00
bd_
e07b18d87e
fix: Some MenuItemCoreGUI properties do not refresh when rendered in parent menu inspector (#1094)
Closes: #1091
2024-09-03 15:53:44 -07:00
nekobako
f9a9f1f1ef
fix: clearing conflicted MenuItem.isDefault affects unrelated MenuItems (#1089) 2024-09-03 15:28:27 -07:00
bd_
371809f430
fix: incorrect handling of isDefault toggles for implicit parameters in UI (#1085)
Closes: #1079
2024-09-02 17:54:36 -07:00
bd_
f44e070c46
fix: exceptions thrown when examining a MenuItem outside of an avatar (#1030) 2024-08-21 20:28:52 -07:00
bd_
8be802bee5
fix: showing menu contents of an expression menu throws an NRE (#1025)
Closes: #967
2024-08-21 19:23:26 -07:00
bd_
159865e6cd
fix: NRE from Menu Item UI when expression parameters is missing (#1022)
Closes: #797
2024-08-19 18:43:57 -07:00
bd_
3eea882019
feat: show parameter checkboxes when parameters are defined elsewhere/multiselect is active (#1000)
Closes: #994
2024-08-13 20:32:42 -07:00
bd_
622d846b9f
fix: menu item settings are overwritten when selecting multiple menu items (#999)
Closes: #994
2024-08-12 19:13:28 -07:00
bd_
3117275277
ui: make new menu item checkboxes translatable (#988)
Note: The menuitem.prop.is_default string is changed and needs to be retranslated.
2024-08-11 18:44:31 -07:00
bd_
6b99b763a7
ui adjustments; added toggle creation shortcuts (#975)
* ui: adjustments to reactive object UI

* ui: toggle creation shortcuts
2024-08-10 19:16:57 -07:00
bd_
8e7526e711
Connect reactive components to MenuItems (#944)
* 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
2024-08-04 19:31:43 -07:00
bd_
f92d10cf50
fix: NullRefExceptions from inspectors (#789)
* fix: NullReferenceError while deleting a GameObject with parameter usage UI open

* fix: NullRefException from editor when moving a Menu Installer outside of an avatar
2024-03-16 20:50:41 +09:00
bd_
1410503609
fix: select menu creates menu install targets in random order (#530)
Fixes: #508
2023-11-14 20:42:01 +09:00
kaikoga
3667dc319a
chore: Wrap VRC dependencies and VRCAvatarDescriptors (#504)
* add version defines

* refactor: prefer BuildContext.ctor() overload taking GameObject

* wrap unit tests entirely with MA_VRCSDK3_AVATARS

* wrap unit tests smart with MA_VRCSDK3_AVATARS

* wrap runtime entirely with MA_VRCSDK3_AVATARS

* wrap VRC.SDKBase.IEditorOnly with MA_VRCSDK3_AVATARS

* wrap editor entirely with MA_VRCSDK3_AVATARS

* fix AvatarObjectReference.Get(Component)

* wrap editor smart with MA_VRCSDK3_AVATARS

* wrap BuildContext smart with MA_VRCSDK3_AVATARS

* wrap PluginDefinition smart with MA_VRCSDK3_AVATARS

* style: move conditional compiles one step outside
2023-11-10 15:37:56 +09:00
bd_
ddbc3b164b
chore: restructure repository to put package at top-level (#477)
* chore: rearrange package structure to have the package at the root

* ci: update CI workflows

* ci: fixing workflow bugs

* ci: recurse building .zip package

* ci: more fixes

* ci: add back in the nadena.dev VPM repo

* ci: fix tests
2023-10-08 15:39:57 +09:00