public void AppendConfiguration(Ob_SessionManager config)
 {
     if (config.SessionComponents == null)
     {
         return;
     }
     TolerableLag = config.TolerableLag;
     foreach (var x in config.SessionComponents)
     {
         var desc   = ModSessionComponentRegistry.Get(x);
         var module = desc.Activator();
         FallbackLogger.Log(MyLogSeverity.Debug, "Registering module {0} from configuration", module.GetType());
         Register(module, x);
     }
 }
        public Ob_SessionManager SaveConfiguration()
        {
            var res = new Ob_SessionManager
            {
                TolerableLag      = TolerableLag,
                SessionComponents = new List <Ob_ModSessionComponent>()
            };

            foreach (var k in m_componentDictionary.Values.SelectMany(x => x))
            {
                if (k.Component.SaveToStorage)
                {
                    res.SessionComponents.Add(k.Component.SaveConfiguration());
                }
            }
            return(res);
        }