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); }