public UserConfig() { for (int i = 0; i < cfgs_p.Length; i++) { cfgs_p[i] = new UserConfigPage(); } for (int i = 0; i < cfgs_ms.Length; i++) { cfgs_ms[i] = new XtMasterSlave.MsLinkConfig(); } }
static void procUserCfg(XtMasterSlave.MsLinks[] p_MSlinks, XtMasterSlave.MsLinkConfig[] cfgs, XtMasterSlave.v3Offsets[] v3ofs) { for (int i = 0; i < XtMasterSlave.MAX_PAGENUM; i++) { var ms = p_MSlinks[i]; //v0031 fix ms.mdMaster_No = -1; ms.FixMaster(); ms.mdSlave_No = -1; ms.FixSlave(); cfgs[i] = _UserCfg.cfgs_ms[i]; UserConfigPage cfgp = _UserCfg.cfgs_p[i]; ms.Scc1_MasterMaid = cfgp.isMasterMaid; ms.mdMaster_No = cfgp.Master_ID; ms.mdSlave_No = cfgp.Slave_ID; if (!ms.Scc1_MasterMaid) { ms.mdMasters = XtMasterSlave._MensList; ms.mdSlaves = XtMasterSlave._MaidList; } else { ms.mdSlaves = XtMasterSlave._MensList; ms.mdMasters = XtMasterSlave._MaidList; } //名前指定&呼び出し if (XtMasterSlave.cfg.boNameSelectAndLoad) { //master int num = -1; if (!string.IsNullOrEmpty(cfgp.Master_Name)) { if (!ms.Scc1_MasterMaid) { num = XtMasterSlave.SelectOrLoadMan(cfgp.Master_Name); if (num >= 0) { ms.mdMasters = XtMasterSlave._MensList; //リストが更新された可能性ある } } else { num = XtMasterSlave.SelectOrLoadMaid(cfgp.Master_Name); if (num >= 0) { ms.mdMasters = XtMasterSlave._MaidList; } } if (num >= 0) { ms.mdMaster_No = num; //公式撮影の非表示解除 if (ms.mdMasters[ms.mdMaster_No].mem.gameObject.transform.GetChild(0).localScale == Vector3.zero) { ms.mdMasters[ms.mdMaster_No].mem.gameObject.transform.GetChild(0).localScale = Vector3.one; } } else { Console.WriteLine("指定キャラクターが見つかりません。" + (cfgp.doMasterSlave ? "リンク中止:" : ":") + cfgp.Master_Name); cfgp.doMasterSlave = false; } } //slave num = -1; if (!string.IsNullOrEmpty(cfgp.Slave_Name)) { if (!ms.Scc1_MasterMaid) { num = XtMasterSlave.SelectOrLoadMaid(cfgp.Slave_Name); if (num >= 0) { ms.mdSlaves = XtMasterSlave._MaidList; //リストが更新された可能性ある } } else { num = XtMasterSlave.SelectOrLoadMan(cfgp.Slave_Name); if (num >= 0) { ms.mdSlaves = XtMasterSlave._MensList; } } if (num >= 0) { ms.mdSlave_No = num; //公式撮影の非表示解除 if (ms.mdSlaves[ms.mdSlave_No].mem.gameObject.transform.GetChild(0).localScale == Vector3.zero) { ms.mdSlaves[ms.mdSlave_No].mem.gameObject.transform.GetChild(0).localScale = Vector3.one; } } else { Console.WriteLine("指定キャラクターが見つかりません。" + (cfgp.doMasterSlave ? "リンク中止:" : ":") + cfgp.Slave_Name); cfgp.doMasterSlave = false; } } } ms.doMasterSlave = false; ms.maidKeepSlaveYotogi = null; if (ms.mdMasters.Count > ms.mdMaster_No && ms.mdMaster_No >= 0) { Maid master = ms.mdMasters[ms.mdMaster_No].mem; if (ms.mdSlaves.Count > ms.mdSlave_No && ms.mdSlave_No >= 0) { Maid slave = ms.mdSlaves[ms.mdSlave_No].mem; Maid maid0 = null; if (!slave.boMAN && ms.mdSlave_No > 0 && ms.mdSlaves[0].mem) { maid0 = ms.mdSlaves[0].mem; } //設定の反映 debugPrintConsole(i + ":設定の反映"); cfgp.ProcParam(master, slave, maid0, cfgs[i]); //リンク開始 if (master && slave && master.body0 && slave.body0) { ms.doMasterSlave = cfgp.doMasterSlave; //キープスレイブ反映 if (cfgs[i].doKeepSlaveYotogi && !slave.boMAN && XtMasterSlave.IsKeepScene()) { ms.maidKeepSlaveYotogi = slave; } //v0031 fix ms.FixMaster(); ms.FixSlave(); } } } else { if (ms.mdSlaves.Count > ms.mdSlave_No && ms.mdSlave_No >= 0) { // メイドのみでも設定反映 v0025 Maid slave = ms.mdSlaves[ms.mdSlave_No].mem; Maid maid0 = null; if (!slave.boMAN && ms.mdSlave_No > 0 && ms.mdSlaves[0].mem) { maid0 = ms.mdSlaves[0].mem; } //設定の反映 debugPrintConsole(i + ":設定の反映m/o"); cfgp.ProcParam(null, slave, maid0, cfgs[i]); //v0031 fix ms.mdMaster_No = -1; ms.FixMaster(); ms.FixSlave(); } } if (ms.mdSlaves.Count > ms.mdSlave_No && ms.mdSlave_No >= 0) { Maid slave = ms.mdSlaves[ms.mdSlave_No].mem; cfgp.ProcParam2(slave, ms); } } //オフセットテーブルの更新 for (int i = 0; i < cfgs.Length; i++) { XtMasterSlave.IniCfgsTov3Offsets(ref v3ofs[i], cfgs[i]); } }