File tree Expand file tree Collapse file tree 11 files changed +36
-14
lines changed
Assets/UnityDebugSheet/Runtime/Core/Scripts/DefaultImpl/Cells Expand file tree Collapse file tree 11 files changed +36
-14
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,9 @@ protected override void SetModel(ButtonCellModel model)
2020 {
2121 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
2222
23+ // Cleanup
24+ button . onClick . RemoveAllListeners ( ) ;
25+
2326 // Icon
2427 icon . Setup ( model . Icon ) ;
2528 icon . gameObject . SetActive ( model . Icon . Sprite != null ) ;
@@ -32,7 +35,6 @@ protected override void SetModel(ButtonCellModel model)
3235
3336 // Button
3437 button . interactable = model . Interactable ;
35- button . onClick . RemoveAllListeners ( ) ;
3638 button . onClick . AddListener ( model . InvokeClicked ) ;
3739
3840 // Height
Original file line number Diff line number Diff line change @@ -51,6 +51,9 @@ protected override void SetModel(EnumMultiPickerCellModel model)
5151
5252 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
5353
54+ // Cleanup
55+ button . onClick . RemoveAllListeners ( ) ;
56+
5457 // Icon
5558 icon . Setup ( model . Icon ) ;
5659 icon . gameObject . SetActive ( model . Icon . Sprite != null ) ;
@@ -63,7 +66,6 @@ protected override void SetModel(EnumMultiPickerCellModel model)
6366
6467 // Button
6568 button . interactable = model . Interactable ;
66- button . onClick . RemoveAllListeners ( ) ;
6769 button . onClick . AddListener ( ( ) => OnClicked ( model ) ) ;
6870
6971 // Reload the picking page if it is already created.
Original file line number Diff line number Diff line change @@ -42,6 +42,9 @@ protected override void SetModel(EnumPickerCellModel model)
4242 }
4343
4444 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
45+
46+ // Cleanup
47+ button . onClick . RemoveAllListeners ( ) ;
4548
4649 // Icon
4750 icon . Setup ( model . Icon ) ;
@@ -55,7 +58,6 @@ protected override void SetModel(EnumPickerCellModel model)
5558
5659 // Button
5760 button . interactable = model . Interactable ;
58- button . onClick . RemoveAllListeners ( ) ;
5961 button . onClick . AddListener ( ( ) => OnClicked ( model ) ) ;
6062
6163 // Refresh the picking page if needed.
Original file line number Diff line number Diff line change @@ -20,6 +20,9 @@ protected override void SetModel(InputFieldCellModel model)
2020 {
2121 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
2222
23+ // Cleanup
24+ inputField . onValueChanged . RemoveAllListeners ( ) ;
25+
2326 // Icon
2427 icon . Setup ( model . Icon ) ;
2528 icon . gameObject . SetActive ( model . Icon . Sprite != null ) ;
@@ -36,7 +39,6 @@ protected override void SetModel(InputFieldCellModel model)
3639 inputField . interactable = model . Interactable ;
3740 inputField . SetTextWithoutNotify ( model . Value ) ;
3841
39- inputField . onValueChanged . RemoveAllListeners ( ) ;
4042 inputField . onValueChanged . AddListener ( x =>
4143 {
4244 model . Value = x ;
Original file line number Diff line number Diff line change @@ -26,6 +26,9 @@ public sealed class MultiPickerCell : Cell<MultiPickerCellModel>
2626 protected override void SetModel ( MultiPickerCellModel model )
2727 {
2828 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
29+
30+ // Cleanup
31+ button . onClick . RemoveAllListeners ( ) ;
2932
3033 // Icon
3134 icon . Setup ( model . Icon ) ;
@@ -39,7 +42,6 @@ protected override void SetModel(MultiPickerCellModel model)
3942
4043 // Button
4144 button . interactable = model . Interactable ;
42- button . onClick . RemoveAllListeners ( ) ;
4345 button . onClick . AddListener ( ( ) => OnClicked ( model ) ) ;
4446
4547 // Reload the picking page if it is already created.
Original file line number Diff line number Diff line change @@ -21,6 +21,9 @@ protected override void SetModel(PageLinkButtonCellModel model)
2121 var pageType = model . PageType ?? typeof ( DebugPage ) ;
2222
2323 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
24+
25+ // Cleanup
26+ button . onClick . RemoveAllListeners ( ) ;
2427
2528 // Icon
2629 icon . Setup ( model . Icon ) ;
@@ -34,7 +37,6 @@ protected override void SetModel(PageLinkButtonCellModel model)
3437
3538 // Button
3639 button . interactable = model . Interactable ;
37- button . onClick . RemoveAllListeners ( ) ;
3840 button . onClick . AddListener ( ( ) =>
3941 {
4042 if ( model . Prefab == null )
Original file line number Diff line number Diff line change @@ -25,12 +25,15 @@ public sealed class PickerCell : Cell<PickerCellModel>
2525 protected override void SetModel ( PickerCellModel model )
2626 {
2727 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
28+
29+ // Cleanup
30+ button . onClick . RemoveAllListeners ( ) ;
2831
2932 // Icon
3033 icon . Setup ( model . Icon ) ;
3134 icon . gameObject . SetActive ( model . Icon . Sprite != null ) ;
3235
33- //Texts
36+ // Texts
3437 cellTexts . Text = model . Text ;
3538 var option = model . Options [ model . ActiveOptionIndex ] ;
3639 cellTexts . SubText = option ;
@@ -39,7 +42,6 @@ protected override void SetModel(PickerCellModel model)
3942
4043 // Button
4144 button . interactable = model . Interactable ;
42- button . onClick . RemoveAllListeners ( ) ;
4345 button . onClick . AddListener ( ( ) => OnClicked ( model ) ) ;
4446
4547 // Refresh the picking page if needed.
Original file line number Diff line number Diff line change @@ -18,6 +18,9 @@ public sealed class PickerOptionCell : Cell<PickerOptionCellModel>
1818 protected override void SetModel ( PickerOptionCellModel model )
1919 {
2020 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
21+
22+ // Cleanup
23+ toggle . onValueChanged . RemoveAllListeners ( ) ;
2124
2225 // Icon
2326 icon . Setup ( model . Icon ) ;
@@ -29,7 +32,6 @@ protected override void SetModel(PickerOptionCellModel model)
2932 // Toggle
3033 toggle . interactable = model . Interactable ;
3134 toggle . SetIsOnWithoutNotify ( model . IsOn ) ;
32- toggle . onValueChanged . RemoveAllListeners ( ) ;
3335 toggle . onValueChanged . AddListener ( x =>
3436 {
3537 model . IsOn = x ;
Original file line number Diff line number Diff line change @@ -11,10 +11,12 @@ public sealed class SearchFieldCell : Cell<SearchFieldCellModel>
1111
1212 protected override void SetModel ( SearchFieldCellModel model )
1313 {
14- _inputField . interactable = model . Interactable ;
14+ // Cleanup
1515 _inputField . onValueChanged . RemoveAllListeners ( ) ;
16- _inputField . onValueChanged . AddListener ( model . InvokeValueChanged ) ;
1716 _inputField . onEndEdit . RemoveAllListeners ( ) ;
17+
18+ _inputField . interactable = model . Interactable ;
19+ _inputField . onValueChanged . AddListener ( model . InvokeValueChanged ) ;
1820 _inputField . onEndEdit . AddListener ( model . InvokeSubmitted ) ;
1921
2022 _placeholderText . text = model . Placeholder ;
Original file line number Diff line number Diff line change @@ -21,6 +21,10 @@ public sealed class SliderCell : Cell<SliderCellModel>
2121 protected override void SetModel ( SliderCellModel model )
2222 {
2323 _contentsCanvasGroup . alpha = model . Interactable ? 1.0f : 0.3f ;
24+
25+ // Cleanup
26+ valueField . onValueChanged . RemoveAllListeners ( ) ;
27+ slider . onValueChanged . RemoveAllListeners ( ) ;
2428
2529 // Icon
2630 icon . Setup ( model . Icon ) ;
@@ -33,7 +37,6 @@ protected override void SetModel(SliderCellModel model)
3337
3438 // TextField
3539 var valueTextFormat = string . IsNullOrEmpty ( model . ValueTextFormat ) ? "F2" : model . ValueTextFormat ;
36- valueField . onValueChanged . RemoveAllListeners ( ) ;
3740 valueField . gameObject . SetActive ( model . ShowValueText ) ;
3841 valueField . SetTextWithoutNotify ( value . ToString ( valueTextFormat ) ) ;
3942 valueField . keyboardType = TouchScreenKeyboardType . DecimalPad ;
@@ -51,7 +54,6 @@ protected override void SetModel(SliderCellModel model)
5154
5255 // Slider
5356 slider . interactable = model . Interactable ;
54- slider . onValueChanged . RemoveAllListeners ( ) ;
5557 slider . minValue = model . MinValue ;
5658 slider . maxValue = model . MaxValue ;
5759 slider . SetValueWithoutNotify ( value ) ;
You can’t perform that action at this time.
0 commit comments