public static UserConfig SaveIni_UserCfg(string inifn) { //ファイル名 string fileIni = @"UnityInjector\Config\XtMsterSlave\User_SaveData\" + inifn; //bool isExist = false; try { string xfn = extpath(fileIni); Console.WriteLine("ユーザーセーブini設定読み込み :" + xfn); UserConfig uc = new UserConfig(); uc.cfg_h = SharedConfig.ReadConfig <UserConfigHeader>("Config", xfn); uc.cfg_h.Memo = uc.cfg_h.Memo.Replace("<改行>", "\r\n"); //tmpc.Memo = tmpc.Memo.Replace("<改行>", "\n"); for (int i = 0; i < XtMasterSlave.MAX_PAGENUM; i++) { uc.cfgs_p[i] = SharedConfig.ReadConfig <UserConfigPage>("Page-" + (i + 1).ToString(), xfn); } for (int i = 0; i < uc.cfgs_ms.Length; i++) { SharedConfig.SaveConfig("Config-" + (i + 1).ToString(), xfn, uc.cfgs_ms[i]); } /* * for (int i = 0; i < cfgs.Length; i++) * { * v3ofs[i].v3StackOffset = faTov3(cfgs[i].v3StackOffsetFA); * v3ofs[i].v3StackOffsetRot = faTov3(cfgs[i].v3StackOffsetRotFA); * v3ofs[i].v3HandLOffset = faTov3(cfgs[i].v3HandLOffsetFA); * v3ofs[i].v3HandROffset = faTov3(cfgs[i].v3HandROffsetFA); * }*/ return(uc); } catch (Exception e) { UnityEngine.Debug.Log("XtMs+INI Error:" + e); } return(null); }
//プリセット用INIファイル読み書き public static bool SaveIni_UserCfg(string inifn, UserConfig uc) { #if COM3D2 string saveDirPath = Path.Combine(getPlginDir(), @"Config\"); //ファイル名 string fileIni = saveDirPath + @"XtMasterSlave\User_SaveData\" + inifn; #else string fullpath = Path.GetFullPath(".\\"); string saveDirPath = Path.Combine(fullpath, @"Sybaris\Plugins\UnityInjector\Config\"); //ファイル名 //string fileIni = @"UnityInjector\Config\XtMsterSlave\User_SaveData\" + inifn; string fileIni = saveDirPath + @"XtMsterSlave\User_SaveData\" + inifn; #endif string xfn = extpath(fileIni); bool isSuccess = false; string strfn_d = null; try { if (File.Exists(fileIni)) { var msgo = "上書きしますか?\r\nファイル名: " + inifn; var reto = NUty.WinMessageBox(NUty.GetWindowHandle(), msgo, "( ! )", NUty.MSGBOX.MB_OKCANCEL | NUty.MSGBOX.MB_ICONQUESTION); if (reto != (int)System.Windows.Forms.DialogResult.OK) { msgo = "保存はキャンセルされました"; NUty.WinMessageBox(NUty.GetWindowHandle(), msgo, "( ! )", NUty.MSGBOX.MB_OK); return(false); } else { strfn_d = fileIni + ".bak"; File.Move(fileIni, strfn_d); } } if (!File.Exists(fileIni)) { Console.WriteLine("ユーザーセーブini設定書き込み :" + xfn); uc.cfg_h.Memo = uc.cfg_h.Memo.Replace("\n", "<改行>"); uc.cfg_h.Memo = uc.cfg_h.Memo.Replace("\r", ""); SharedConfig.SaveConfig("Config", xfn, uc.cfg_h); for (int i = 0; i < XtMasterSlave.MAX_PAGENUM; i++) { //前後のスペースがトリムされるようなので""でエスケープする uc.cfgs_p[i].Master_Name = uc.cfgs_p[i].Master_Name.dq_(); uc.cfgs_p[i].Slave_Name = uc.cfgs_p[i].Slave_Name.dq_(); SharedConfig.SaveConfig("Page-" + (i + 1).ToString(), xfn, uc.cfgs_p[i]); } for (int i = 0; i < uc.cfgs_ms.Length; i++) { SharedConfig.SaveConfig("Config-" + (i + 1).ToString(), xfn, uc.cfgs_ms[i]); } } if (strfn_d != null && File.Exists(strfn_d)) { File.Delete(strfn_d); } } catch (Exception e) { UnityEngine.Debug.Log("api+INI SaveError:" + e); var msg = "ファイル保存に失敗しました\r\nファイル名:" + inifn + "\r\n" + e.Message; NUty.WinMessageBox(NUty.GetWindowHandle(), msg, "( ! )", NUty.MSGBOX.MB_OK | NUty.MSGBOX.MB_ICONERROR); } return(isSuccess); }