@@ -1027,43 +1027,37 @@ internal void MigrateJson(ref ReadFileJson parsedJson)
1027
1027
continue ;
1028
1028
1029
1029
var list = NameAndParameters . ParseMultiple ( raw ) . ToList ( ) ;
1030
- var rebuilt = new List < string > ( list . Count ) ;
1030
+ var converted = new List < NameAndParameters > ( list . Count ) ;
1031
1031
foreach ( var nap in list )
1032
1032
{
1033
1033
var procType = InputSystem . TryGetProcessor ( nap . name ) ;
1034
1034
if ( nap . parameters . Count == 0 || procType == null )
1035
1035
{
1036
- rebuilt . Add ( nap . ToString ( ) ) ;
1036
+ converted . Add ( nap ) ;
1037
1037
continue ;
1038
1038
}
1039
1039
1040
- var dict = nap . parameters . ToDictionary ( p => p . name , p => p . value . ToString ( ) ) ;
1041
- var anyChanged = false ;
1042
- foreach ( var field in procType . GetFields ( BindingFlags . Public | BindingFlags . Instance ) . Where ( f => f . FieldType . IsEnum ) )
1040
+ var updatedParameters = new List < NamedValue > ( nap . parameters . Count ) ;
1041
+ foreach ( var param in nap . parameters )
1043
1042
{
1044
- if ( dict . TryGetValue ( field . Name , out var ordS ) && int . TryParse ( ordS , out var ord ) )
1043
+ var updatedPar = param ;
1044
+ var fieldInfo = procType . GetField ( param . name , BindingFlags . Public | BindingFlags . Instance ) ;
1045
+ if ( fieldInfo != null && fieldInfo . FieldType . IsEnum )
1045
1046
{
1046
- var values = Enum . GetValues ( field . FieldType ) . Cast < object > ( ) . ToArray ( ) ;
1047
- if ( ord >= 0 && ord < values . Length )
1047
+ var index = param . value . ToInt32 ( ) ;
1048
+ var values = Enum . GetValues ( fieldInfo . FieldType ) ;
1049
+ if ( index >= 0 && index < values . Length )
1048
1050
{
1049
- dict [ field . Name ] = Convert . ToInt32 ( values [ ord ] ) . ToString ( ) ;
1050
- anyChanged = true ;
1051
+ var convertedValue = Convert . ToInt32 ( values . GetValue ( index ) ) ;
1052
+ updatedPar = NamedValue . From ( param . name , convertedValue ) ;
1051
1053
}
1052
1054
}
1055
+ updatedParameters . Add ( updatedPar ) ;
1053
1056
}
1054
-
1055
- if ( ! anyChanged )
1056
- {
1057
- rebuilt . Add ( nap . ToString ( ) ) ;
1058
- }
1059
- else
1060
- {
1061
- var paramText = string . Join ( "," , dict . Select ( kv => $ "{ kv . Key } ={ kv . Value } ") ) ;
1062
- rebuilt . Add ( $ "{ nap . name } ({ paramText } )") ;
1063
- }
1057
+ converted . Add ( NameAndParameters . Create ( nap . name , updatedParameters ) ) ;
1064
1058
}
1065
1059
1066
- actionJson . processors = string . Join ( "," , rebuilt ) ;
1060
+ actionJson . processors = NameAndParameters . SerializeMultiple ( converted ) ;
1067
1061
mapJson . actions [ ai ] = actionJson ;
1068
1062
}
1069
1063
parsedJson . maps [ mi ] = mapJson ;
0 commit comments