// Token: 0x06000006 RID: 6 RVA: 0x000020F8 File Offset: 0x000002F8
 private static void ExtendedSceneLoadInUpdate()
 {
     try
     {
         Logger.Log(LogLevel.Info, "Start loading VMDPlay info from scene data.");
         object obj;
         if (ExtendedSave.GetSceneExtendedDataById("KKVMDPlayExtSave").data.TryGetValue("xml", out obj))
         {
             if (obj != null && obj is byte[])
             {
                 Logger.Log(LogLevel.Info, string.Format("Found VMDPlay info XML data: {0}", ((byte[])obj).Length));
                 MemoryStream inStream = new MemoryStream((byte[])obj);
                 Console.WriteLine("ExtSave: Loading from PNG.");
                 XmlDocument xmlDocument = new XmlDocument();
                 xmlDocument.Load(inStream);
                 Console.WriteLine(xmlDocument.ToString());
                 KKVMDPlayExtSavePlugin.OnLoad(xmlDocument.DocumentElement);
             }
             else
             {
                 Logger.Log(LogLevel.Message, "Data not found.");
             }
         }
         else
         {
             Logger.Log(LogLevel.Message, "Data not found.");
         }
     }
     catch (Exception ex)
     {
         Logger.Log(LogLevel.Error, string.Format("Failed to load data. {0}", ex.StackTrace));
     }
 }
 // Token: 0x0600000A RID: 10 RVA: 0x0000244C File Offset: 0x0000064C
 public static void OnSave(XmlElement rootElement)
 {
     try
     {
         rootElement.SetAttribute("Version", "1");
         KKVMDPlayExtSavePlugin.saveLoadForScene.OnSave(rootElement);
         Studio.Studio instance = Singleton <Studio.Studio> .Instance;
         new List <OCIChar>();
         foreach (KeyValuePair <int, ObjectCtrlInfo> keyValuePair in from e in instance.dicObjectCtrl
                  orderby e.Key
                  select e)
         {
             if (keyValuePair.Value is OCIChar)
             {
                 OCIChar    ocichar    = keyValuePair.Value as OCIChar;
                 XmlElement xmlElement = KKVMDPlayExtSavePlugin.AddVMDCharaInfoElem(rootElement, ocichar, ocichar.charInfo);
                 if (xmlElement != null)
                 {
                     xmlElement.SetAttribute("dicKey", keyValuePair.Key.ToString());
                 }
             }
         }
     }
     catch (Exception value)
     {
         Console.WriteLine(value);
     }
 }
        // Token: 0x06000003 RID: 3 RVA: 0x000020C4 File Offset: 0x000002C4
        private IEnumerator LoadDataCo()
        {
            yield return(new WaitForEndOfFrame());

            foreach (ObjectCtrlInfo objectCtrlInfo in Singleton <Studio.Studio> .Instance.dicObjectCtrl.Values)
            {
                if (objectCtrlInfo is OCIChar)
                {
                    VMDAnimationController.Install((objectCtrlInfo as OCIChar).charInfo);
                }
            }
            yield return(new WaitForSeconds(1f));

            KKVMDPlayExtSavePlugin.ExtendedSceneLoadInUpdate();
            yield break;
        }
        // Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
        private void OnLevelWasLoaded(int level)
        {
            if (!this.initialized)
            {
                //string entry = Config.GetEntry("SaveInScene", "True", "KKVMDPlayExtSave");
                //Config.SetEntry("SaveInScene", entry, "KKVMDPlayExtSave");
                //Config.SaveConfig();
                bool flag;
                //if (bool.TryParse(entry, out flag) && flag)
                //{
                KKVMDPlayExtSavePlugin.InstallHooks();
                //}

                this.initialized = true;
            }
        }
 // Token: 0x06000007 RID: 7 RVA: 0x000021D8 File Offset: 0x000003D8
 private static void ExtendedSceneSave(string path)
 {
     try
     {
         Logger.Log(LogLevel.Info, string.Format("Start saving VMDPlay info into scene data: {0}", path));
         PluginData     pluginData  = new PluginData();
         XmlDocument    xmlDocument = new XmlDocument();
         XmlDeclaration newChild    = xmlDocument.CreateXmlDeclaration("1.0", "utf-8", null);
         xmlDocument.AppendChild(newChild);
         XmlElement xmlElement = xmlDocument.CreateElement("VMDPlaySaveData");
         xmlDocument.AppendChild(xmlElement);
         KKVMDPlayExtSavePlugin.OnSave(xmlElement);
         pluginData.data["xml"] = KKVMDPlayExtSavePlugin.GetExtDataAsBytes(xmlDocument);
         ExtendedSave.SetSceneExtendedDataById("KKVMDPlayExtSave", pluginData);
         Logger.Log(LogLevel.Info, string.Format("Save completed: {0}", path));
     }
     catch (Exception ex)
     {
         Logger.Log(LogLevel.Error, string.Format("Failed to load data. {0}", ex.StackTrace));
     }
 }
        // Token: 0x06000009 RID: 9 RVA: 0x000022C0 File Offset: 0x000004C0
        public static void OnLoad(XmlElement rootElement)
        {
            Studio.Studio  instance = Singleton <Studio.Studio> .Instance;
            List <OCIChar> list     = new List <OCIChar>();

            foreach (KeyValuePair <int, ObjectCtrlInfo> keyValuePair in from e in instance.dicObjectCtrl
                     orderby e.Key
                     select e)
            {
                if (keyValuePair.Value is OCIChar)
                {
                    list.Add(keyValuePair.Value as OCIChar);
                }
            }
            foreach (object obj in rootElement.ChildNodes)
            {
                XmlElement xmlElement = (XmlElement)obj;
                if (xmlElement.Name == "VMDCharaData")
                {
                    int            num            = int.Parse(xmlElement.GetAttribute("dicKey"));
                    ObjectCtrlInfo objectCtrlInfo = null;
                    instance.dicObjectCtrl.TryGetValue(num, out objectCtrlInfo);
                    if (objectCtrlInfo == null)
                    {
                        Logger.Log(LogLevel.Error, string.Format("Character not found. dicKey: {0}", num));
                    }
                    else if (objectCtrlInfo is OCIChar)
                    {
                        KKVMDPlayExtSavePlugin.saveLoadForChara.LoadVMDAnimInfo(xmlElement, objectCtrlInfo);
                    }
                }
                else if (xmlElement.Name == "VMDSceneData")
                {
                    KKVMDPlayExtSavePlugin.saveLoadForScene.LoadVMDSceneDataInfo(xmlElement);
                }
                else
                {
                    Logger.Log(LogLevel.Error, string.Format("Unknown Tag found. Load data {0}", KKVMDPlayExtSavePlugin.ToString(xmlElement)));
                }
            }
        }