@@ -310,6 +310,17 @@ void OneTimeEditorApplicationUpdate()
310310 EditorApplication . update -= OneTimeEditorApplicationUpdate ;
311311 }
312312
313+ static void InsertUnitFieldForFloatField ( VisualElement field , string unit )
314+ {
315+ var floatInput = UIToolkitUtilities . GetChildByName < VisualElement > ( field , "unity-text-input" ) ;
316+ var unitTextElement = new TextElement
317+ {
318+ name = "numeric-field-unit-label" ,
319+ text = unit
320+ } ;
321+ floatInput . Add ( unitTextElement ) ;
322+ }
323+
313324 #region Preview
314325
315326 void InitializePreviewElements ( )
@@ -406,14 +417,18 @@ void InitializeVolumeElements()
406417 var volumeRandomizationMinField = UIToolkitUtilities . GetChildByName < FloatField > ( m_VolumeRandomizationRangeField , "unity-x-input" ) ;
407418 var volumeRandomizationMaxField = UIToolkitUtilities . GetChildByName < FloatField > ( m_VolumeRandomizationRangeField , "unity-y-input" ) ;
408419
409- m_VolumeField . formatString = "0.# dB" ;
420+ m_VolumeField . formatString = "0.#" ;
421+ InsertUnitFieldForFloatField ( m_VolumeField , "dB" ) ;
410422 m_VolumeField . isDelayed = true ;
411423 volumeRandomizationMinField . isDelayed = true ;
412424 volumeRandomizationMinField . label = "" ;
413- volumeRandomizationMinField . formatString = "0.# dB" ;
425+ volumeRandomizationMinField . formatString = "0.#" ;
426+ InsertUnitFieldForFloatField ( volumeRandomizationMinField , "dB" ) ;
414427 volumeRandomizationMaxField . isDelayed = true ;
415428 volumeRandomizationMaxField . label = "" ;
416- volumeRandomizationMaxField . formatString = "0.# dB" ;
429+ volumeRandomizationMaxField . formatString = "0.#" ;
430+ InsertUnitFieldForFloatField ( volumeRandomizationMaxField , "dB" ) ;
431+
417432 }
418433
419434 void SubscribeToVolumeCallbacksAndEvents ( )
@@ -508,14 +523,17 @@ void InitializePitchElements()
508523 var pitchRandomizationMinField = UIToolkitUtilities . GetChildByName < FloatField > ( m_PitchRandomizationRangeField , "unity-x-input" ) ;
509524 var pitchRandomizationMaxField = UIToolkitUtilities . GetChildByName < FloatField > ( m_PitchRandomizationRangeField , "unity-y-input" ) ;
510525
511- m_PitchField . formatString = "0 ct" ;
526+ m_PitchField . formatString = "0" ;
527+ InsertUnitFieldForFloatField ( m_PitchField , "ct" ) ;
512528 m_PitchField . isDelayed = true ;
513529 pitchRandomizationMinField . isDelayed = true ;
514530 pitchRandomizationMinField . label = "" ;
515- pitchRandomizationMinField . formatString = "0 ct" ;
531+ pitchRandomizationMinField . formatString = "0" ;
532+ InsertUnitFieldForFloatField ( pitchRandomizationMinField , "ct" ) ;
516533 pitchRandomizationMaxField . isDelayed = true ;
517534 pitchRandomizationMaxField . label = "" ;
518- pitchRandomizationMaxField . formatString = "0 ct" ;
535+ pitchRandomizationMaxField . formatString = "0" ;
536+ InsertUnitFieldForFloatField ( pitchRandomizationMaxField , "ct" ) ;
519537 }
520538
521539 void SubscribeToPitchCallbacksAndEvents ( )
@@ -653,7 +671,10 @@ static void UpdateListElementName(Object element, Object clip = null)
653671
654672 static VisualElement OnMakeListItem ( )
655673 {
656- return UIToolkitUtilities . LoadUxml ( "UXML/Audio/AudioContainerElement.uxml" ) . Instantiate ( ) ;
674+ var element = UIToolkitUtilities . LoadUxml ( "UXML/Audio/AudioContainerElement.uxml" ) . Instantiate ( ) ;
675+ var volumeField = UIToolkitUtilities . GetChildByName < FloatField > ( element , "volume-field" ) ;
676+ InsertUnitFieldForFloatField ( volumeField , "dB" ) ;
677+ return element ;
657678 }
658679
659680 void OnBindListItem ( VisualElement element , int index )
@@ -665,7 +686,7 @@ void OnBindListItem(VisualElement element, int index)
665686 var enabledToggle = UIToolkitUtilities . GetChildByName < Toggle > ( element , "enabled-toggle" ) ;
666687 var audioClipField = UIToolkitUtilities . GetChildByName < AudioContainerElementClipField > ( element , "audio-clip-field" ) ;
667688 var volumeField = UIToolkitUtilities . GetChildByName < FloatField > ( element , "volume-field" ) ;
668- volumeField . formatString = "0.# dB " ;
689+ volumeField . formatString = "0.#" ;
669690
670691 audioClipField . objectType = typeof ( AudioClip ) ;
671692
@@ -996,14 +1017,18 @@ void InitializeAutomaticTriggerElements()
9961017 m_AutomaticTriggerModeLabel = UIToolkitUtilities . GetChildByName < Label > ( m_ContainerRootVisualElement , "automatic-trigger-mode-label" ) ;
9971018 m_LoopLabel = UIToolkitUtilities . GetChildByName < Label > ( m_ContainerRootVisualElement , "loop-label" ) ;
9981019
999- m_TimeField . formatString = "0.00 s" ;
1020+ m_TimeField . formatString = "0.00" ;
1021+ InsertUnitFieldForFloatField ( m_TimeField , "s" ) ;
10001022 m_TimeField . isDelayed = true ;
10011023 timeRandomizationMinField . isDelayed = true ;
10021024 timeRandomizationMinField . label = "" ;
10031025 timeRandomizationMinField . formatString = "0.#" ;
1026+ InsertUnitFieldForFloatField ( timeRandomizationMinField , "s" ) ;
10041027 timeRandomizationMaxField . isDelayed = true ;
10051028 timeRandomizationMaxField . label = "" ;
10061029 timeRandomizationMaxField . formatString = "0.#" ;
1030+ InsertUnitFieldForFloatField ( timeRandomizationMaxField , "s" ) ;
1031+
10071032 m_CountField . formatString = "0.#" ;
10081033 m_CountField . isDelayed = true ;
10091034 countRandomizationMinField . isDelayed = true ;
@@ -1151,6 +1176,11 @@ void OnCountRandomizationButtonClicked()
11511176
11521177 void OnUndoRedoPerformed ( )
11531178 {
1179+ if ( m_ContainerRootVisualElement == null
1180+ || m_ContainerRootVisualElement . style . display == DisplayStyle . None
1181+ || State . AudioContainer == null )
1182+ return ;
1183+
11541184 if ( m_CachedElements . Count != State . AudioContainer . elements . Length )
11551185 {
11561186 // Force a list rebuild when the list size has increased or it will not render correctly
0 commit comments