Skip to content

Commit 9607609

Browse files
authored
Merge pull request #24 from LibraStack/develop
Bug fixes.
2 parents b96f557 + a1bb85c commit 9607609

File tree

5 files changed

+23
-3
lines changed

5 files changed

+23
-3
lines changed

src/UnityMvvmToolkit.Core/Internal/ObjectHandlers/ObjectWrapperHandler.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ public void CreateValueConverterInstances<T>(int capacity, WarmupType warmupType
4040
case IPropertyValueConverter converter:
4141
CreatePropertyValueConverterInstances(converter, capacity, warmupType);
4242
break;
43+
4344
case IParameterValueConverter converter:
4445
CreateParameterValueConverterInstances(converter, capacity, warmupType);
4546
break;
47+
4648
default:
4749
throw new ArgumentOutOfRangeException();
4850
}
@@ -191,17 +193,20 @@ private void CreatePropertyValueConverterInstances(IPropertyValueConverter conve
191193
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter);
192194
CreatePropertyValueConverterInstances(converterId, converter, capacity);
193195
break;
196+
194197
case WarmupType.OnlyByName:
195198
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter, converter.Name);
196199
CreatePropertyValueConverterInstances(converterId, converter, capacity);
197200
break;
201+
198202
case WarmupType.ByTypeAndName:
199203
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter);
200204
CreatePropertyValueConverterInstances(converterId, converter, capacity);
201205

202206
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter, converter.Name);
203207
CreatePropertyValueConverterInstances(converterId, converter, capacity);
204208
break;
209+
205210
default:
206211
throw new ArgumentOutOfRangeException(nameof(warmupType), warmupType, null);
207212
}
@@ -242,17 +247,20 @@ private void CreateParameterValueConverterInstances(IParameterValueConverter con
242247
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter);
243248
CreateParameterValueConverterInstances(converterId, converter, capacity);
244249
break;
250+
245251
case WarmupType.OnlyByName:
246252
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter, converter.Name);
247253
CreateParameterValueConverterInstances(converterId, converter, capacity);
248254
break;
255+
249256
case WarmupType.ByTypeAndName:
250257
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter);
251258
CreateParameterValueConverterInstances(converterId, converter, capacity);
252259

253260
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter, converter.Name);
254261
CreateParameterValueConverterInstances(converterId, converter, capacity);
255262
break;
263+
256264
default:
257265
throw new ArgumentOutOfRangeException(nameof(warmupType), warmupType, null);
258266
}

src/UnityMvvmToolkit.Core/Internal/ObjectHandlers/ValueConverterHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,19 @@ private void RegisterValueConverter(IValueConverter valueConverter)
6262
converterHashByType = HashCodeHelper.GetPropertyConverterHashCode(converter);
6363
converterHashByName = HashCodeHelper.GetPropertyConverterHashCode(converter, converter.Name);
6464
break;
65+
6566
case IParameterValueConverter converter:
6667
converterHashByType = HashCodeHelper.GetParameterConverterHashCode(converter);
6768
converterHashByName = HashCodeHelper.GetParameterConverterHashCode(converter, converter.Name);
6869
break;
70+
6971
default:
7072
throw new ArgumentOutOfRangeException();
7173
}
7274

7375
_valueConvertersByHash.Add(converterTypeHash, valueConverter);
74-
_valueConvertersByHash.Add(converterHashByType, valueConverter);
7576
_valueConvertersByHash.Add(converterHashByName, valueConverter);
77+
_valueConvertersByHash.TryAdd(converterHashByType, valueConverter);
7678
}
7779
}
7880
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Internal/ObjectHandlers/ObjectWrapperHandler.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ public void CreateValueConverterInstances<T>(int capacity, WarmupType warmupType
4040
case IPropertyValueConverter converter:
4141
CreatePropertyValueConverterInstances(converter, capacity, warmupType);
4242
break;
43+
4344
case IParameterValueConverter converter:
4445
CreateParameterValueConverterInstances(converter, capacity, warmupType);
4546
break;
47+
4648
default:
4749
throw new ArgumentOutOfRangeException();
4850
}
@@ -191,17 +193,20 @@ private void CreatePropertyValueConverterInstances(IPropertyValueConverter conve
191193
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter);
192194
CreatePropertyValueConverterInstances(converterId, converter, capacity);
193195
break;
196+
194197
case WarmupType.OnlyByName:
195198
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter, converter.Name);
196199
CreatePropertyValueConverterInstances(converterId, converter, capacity);
197200
break;
201+
198202
case WarmupType.ByTypeAndName:
199203
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter);
200204
CreatePropertyValueConverterInstances(converterId, converter, capacity);
201205

202206
converterId = HashCodeHelper.GetPropertyWrapperConverterId(converter, converter.Name);
203207
CreatePropertyValueConverterInstances(converterId, converter, capacity);
204208
break;
209+
205210
default:
206211
throw new ArgumentOutOfRangeException(nameof(warmupType), warmupType, null);
207212
}
@@ -242,17 +247,20 @@ private void CreateParameterValueConverterInstances(IParameterValueConverter con
242247
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter);
243248
CreateParameterValueConverterInstances(converterId, converter, capacity);
244249
break;
250+
245251
case WarmupType.OnlyByName:
246252
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter, converter.Name);
247253
CreateParameterValueConverterInstances(converterId, converter, capacity);
248254
break;
255+
249256
case WarmupType.ByTypeAndName:
250257
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter);
251258
CreateParameterValueConverterInstances(converterId, converter, capacity);
252259

253260
converterId = HashCodeHelper.GetCommandWrapperConverterId(converter, converter.Name);
254261
CreateParameterValueConverterInstances(converterId, converter, capacity);
255262
break;
263+
256264
default:
257265
throw new ArgumentOutOfRangeException(nameof(warmupType), warmupType, null);
258266
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Internal/ObjectHandlers/ValueConverterHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,19 @@ private void RegisterValueConverter(IValueConverter valueConverter)
6262
converterHashByType = HashCodeHelper.GetPropertyConverterHashCode(converter);
6363
converterHashByName = HashCodeHelper.GetPropertyConverterHashCode(converter, converter.Name);
6464
break;
65+
6566
case IParameterValueConverter converter:
6667
converterHashByType = HashCodeHelper.GetParameterConverterHashCode(converter);
6768
converterHashByName = HashCodeHelper.GetParameterConverterHashCode(converter, converter.Name);
6869
break;
70+
6971
default:
7072
throw new ArgumentOutOfRangeException();
7173
}
7274

7375
_valueConvertersByHash.Add(converterTypeHash, valueConverter);
74-
_valueConvertersByHash.Add(converterHashByType, valueConverter);
7576
_valueConvertersByHash.Add(converterHashByName, valueConverter);
77+
_valueConvertersByHash.TryAdd(converterHashByType, valueConverter);
7678
}
7779
}
7880
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "com.chebanovdd.unitymvvmtoolkit",
33
"displayName": "Unity MVVM Toolkit",
44
"author": { "name": "ChebanovDD", "url": "https://github.com/ChebanovDD" },
5-
"version": "1.1.1",
5+
"version": "1.1.2",
66
"unity": "2018.4",
77
"description": "The Unity Mvvm Toolkit allows you to use data binding to establish a connection between the app UI and the data it displays. This is a simple and consistent way to achieve clean separation of business logic from UI.",
88
"keywords": [ "mvvm", "binding", "ui", "toolkit" ],

0 commit comments

Comments
 (0)