@@ -50,19 +50,20 @@ static TemplateConfigurationOptions SerializeScenarioToTemplate(ScenarioBase sce
5050 {
5151 return new TemplateConfigurationOptions
5252 {
53- groups = SerializeRandomizers ( scenario . randomizers )
53+ randomizerGroups = SerializeRandomizers ( scenario . randomizers )
5454 } ;
5555 }
5656
57- static Dictionary < string , Group > SerializeRandomizers ( IEnumerable < Randomizer > randomizers )
57+ static List < Group > SerializeRandomizers ( IEnumerable < Randomizer > randomizers )
5858 {
59- var serializedRandomizers = new Dictionary < string , Group > ( ) ;
59+ var serializedRandomizers = new List < Group > ( ) ;
6060 foreach ( var randomizer in randomizers )
6161 {
6262 var randomizerData = SerializeRandomizer ( randomizer ) ;
6363 if ( randomizerData . items . Count == 0 && ! randomizerData . state . canBeSwitchedByUser )
6464 continue ;
65- serializedRandomizers . Add ( randomizer . GetType ( ) . Name , randomizerData ) ;
65+
66+ serializedRandomizers . Add ( randomizerData ) ;
6667 }
6768 return serializedRandomizers ;
6869 }
@@ -77,6 +78,7 @@ static Group SerializeRandomizer(Randomizer randomizer)
7778 } ;
7879
7980 var fields = randomizer . GetType ( ) . GetFields ( ) ;
81+ randomizerData . randomizerId = randomizer . GetType ( ) . Name ;
8082 foreach ( var field in fields )
8183 {
8284 if ( field . FieldType . IsSubclassOf ( typeof ( Randomization . Parameters . Parameter ) ) )
@@ -214,21 +216,21 @@ static void DeserializeConstants(ScenarioConstants constants, JObject constantsD
214216
215217 static void DeserializeTemplateIntoScenario ( ScenarioBase scenario , TemplateConfigurationOptions template )
216218 {
217- DeserializeRandomizers ( scenario . randomizers , template . groups ) ;
219+ DeserializeRandomizers ( scenario . randomizers , template . randomizerGroups ) ;
218220 }
219221
220- static void DeserializeRandomizers ( IEnumerable < Randomizer > randomizers , Dictionary < string , Group > groups )
222+ static void DeserializeRandomizers ( IEnumerable < Randomizer > randomizers , List < Group > groups )
221223 {
222224 var randomizerTypeMap = new Dictionary < string , Randomizer > ( ) ;
223225 foreach ( var randomizer in randomizers )
224226 randomizerTypeMap . Add ( randomizer . GetType ( ) . Name , randomizer ) ;
225227
226- foreach ( var randomizerPair in groups )
228+ foreach ( var randomizerData in groups )
227229 {
228- if ( ! randomizerTypeMap . ContainsKey ( randomizerPair . Key ) )
230+ if ( ! randomizerTypeMap . ContainsKey ( randomizerData . randomizerId ) )
229231 continue ;
230- var randomizer = randomizerTypeMap [ randomizerPair . Key ] ;
231- DeserializeRandomizer ( randomizer , randomizerPair . Value ) ;
232+ var randomizer = randomizerTypeMap [ randomizerData . randomizerId ] ;
233+ DeserializeRandomizer ( randomizer , randomizerData ) ;
232234 }
233235 }
234236
0 commit comments