public static void GetParameters(string key, XmlDocument input, out AeonKeyValuePair <string, ParameterCollection> kvp) { string id = ""; int paramCount = 0; foreach (XmlNode node in input.GetElementsByTagName(key)[0].ChildNodes) { switch (node.Name) { case "ID": id = node.InnerText; break; case "Parameters": int.TryParse(node.InnerText, out paramCount); break; } } ParameterCollection parameters = new ParameterCollection(); if (paramCount > 0) { for (int i = 0; i < paramCount; i++) { foreach (XmlNode node in input.GetElementsByTagName(key + "Param" + i)[0].ChildNodes) { string text = ""; switch (node.Name) { case "Value": text = node.InnerText; break; } object obj = null; GetTypeValue(text, out obj); parameters.Add(obj); } } } kvp = new AeonKeyValuePair <string, ParameterCollection>(); kvp.Key = id; if (paramCount > 0) { kvp.Value = parameters; } else { kvp.Value = null; } }
internal void Load() { for (int i = 0; i < info.Objects.Count; i++) { AeonKeyValuePair <string, ParameterCollection> value = info.Objects.GetValueByIndex(i); sceneObjects.Add(AssemblyManager.CreateInstance(value.Key, value.Value)); } }