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;
            }
        }
Пример #2
0
        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));
            }
        }