Beispiel #1
0
        private static List <ReflectiveRenderer.RenderableField> GetRenderables(ElementInfo info, int indent)
        {
            if (info.Content != null)
            {
                var type = ObjectSerializer.GetTypeForName(info.Name);
                if (Enum.TryParse(info.Content, out Neopal.PetType _))
                {
                    type = typeof(Neopal.PetType);
                }

                return(new List <ReflectiveRenderer.RenderableField>()
                {
                    new ReflectiveRenderer.RenderableField()
                    {
                        IndentLevel = indent,
                        IsTitle = false,
                        RenderedValue = info.Content,
                        t = type,
                        VariableName = info.Name
                    }
                });
            }

            var list = new List <ReflectiveRenderer.RenderableField>()
            {
                new ReflectiveRenderer.RenderableField()
                {
                    IndentLevel   = indent,
                    IsTitle       = true,
                    RenderedValue = info.Name
                }
            };

            foreach (var child in info.Children)
            {
                list.AddRange(GetRenderables(child, indent + 1));
            }

            return(list);
        }