예제 #1
0
        public static OSVRConfig Read(string filePath, string serverRoot)
        {
            var ret      = new OSVRConfig();
            var includes = new List <OSVRInclude>();

            ret.Includes = includes;

            using (var configReader = File.OpenText(filePath))
                using (var jr = new JsonTextReader(configReader))
                {
                    JToken token = JObject.ReadFrom(jr);
                    if (!(token is JObject))
                    {
                        return(null);
                    }
                    ret.Body = (JObject)token;

                    // Display
                    var displayInclude = OSVRInclude.Parse(ret.Body, "display", serverRoot);
                    if (displayInclude != null)
                    {
                        includes.Add(displayInclude);
                    }

                    // RenderManager
                    var renderManagerInclude = OSVRInclude.Parse(ret.Body, "renderManagerConfig", serverRoot);
                    if (renderManagerInclude != null)
                    {
                        includes.Add(renderManagerInclude);
                    }
                }
            return(ret);
        }