void LoadSettings(Maid maid)
        {
            if (maid == null)
            {
                return;
            }

            bool   autoCam       = ExSaveData.GetBool(maid, PluginName, "AutoCameraInitialValue", true);
            bool   eyeToCam      = ExSaveData.GetBool(maid, PluginName, "EyeToCameraInitialValue", true);
            string clothMaskMode = ExSaveData.Get(maid, PluginName, "ClothMaskMode", "");
            string bgName        = ExSaveData.Get(maid, PluginName, "BgName", "");
            string poseScript    = ExSaveData.Get(maid, PluginName, "Pose.Script", "");
            string poseLabel     = ExSaveData.Get(maid, PluginName, "Pose.Label", "");

            DebugWriteLine(
                "PersonalizedEditSceneSettings.LoadSettings : name={0}{1}, autoCam={2}, eyeToCam={3}, cloth={4}, bg={5}, pose={6}.{7}",
                maid.Param.status.last_name, maid.Param.status.first_name,
                autoCam, eyeToCam, clothMaskMode, bgName, poseScript, poseLabel);

            editViewReset.SetVisibleAutoCam(autoCam);
            editViewReset.SetVisibleEyeToCam(eyeToCam);
            sceneEdit.ClothesState(Helper.ToEnum <SceneEditInfo.ClothesState>(clothMaskMode, SceneEditInfo.ClothesState.Wear));

            SceneEdit.PVBInfo bgPvbInfo = sceneEdit.m_listBg.FirstOrDefault((i) =>
            {
                var bgInfo = i as SceneEdit.BGInfo;
                if (bgInfo == null)
                {
                    return(false);
                }
                return(bgInfo.strBGFileName == bgName);
            });
            if (bgPvbInfo != null)
            {
                sceneEdit.Bg(bgPvbInfo);
            }

            SceneEdit.PVBInfo posePvbInfo = sceneEdit.m_listPose.FirstOrDefault((i) =>
            {
                var poseInfo = i as SceneEdit.PoseInfo;
                if (poseInfo == null)
                {
                    return(false);
                }
                return(poseInfo.strScriptFileName == poseScript &&
                       poseInfo.strScriptLabelName == poseLabel);
            });

            if (posePvbInfo != null)
            {
                sceneEdit.Pose(posePvbInfo);
                lastPoseScript = poseScript;
                lastPoseLabel  = poseLabel;
            }

            LoadCameraSettings(maid);
        }
コード例 #2
0
    static void Update(Maid maid, string PluginName)
    {
        if (!maid.Visible)
        {
            return;
        }
        string         fname          = ExSaveData.Get(maid, PluginName, "SLIDER_TEMPLATE", null);
        SliderTemplate sliderTemplate = sliderTemplates.Get(fname);

        if (sliderTemplate != null && !sliderTemplate.IsLoaded)
        {
            sliderTemplate.WriteProps(maid);
            sliderTemplate.IsLoaded = true;
        }
    }
コード例 #3
0
    static void Update(Maid maid, string PluginName)
    {
        if (!maid.Visible)
        {
            return;
        }
        string         fname          = ExSaveData.Get(maid, PluginName, "SLIDER_TEMPLATE", "UnityInjector/Config/MaidVoicePitchSlider.xml");
        SliderTemplate sliderTemplate = sliderTemplates.Get(fname);
        string         guid           = maid.Param.status.guid;

        if (sliderTemplate != null && !sliderTemplate.LoadedMaidGuids.Contains(guid))
        {
            sliderTemplate.WriteProps(maid);
            sliderTemplate.LoadedMaidGuids.Add(guid);
        }
    }
コード例 #4
0
        // 動作していない古い設定を削除する
        static void CleanupExSave()
        {
            string[] obsoleteSettings =
            {
                "WIDESLIDER.enable",  "PROPSET_OFF.enable",     "LIPSYNC_OFF.enable",
                "HYOUJOU_OFF.enable", "EYETOCAMERA_OFF.enable", "MUHYOU.enable",
                "FARMFIX.enable",     "EYEBALL.enable",         "EYE_ANG.enable",
                "PELSCL.enable",      "SKTSCL.enable",          "THISCL.enable",     "THIPOS.enable",
                "PELVIS.enable",      "FARMFIX.enable",         "SPISCL.enable",
                "S0ASCL.enable",      "S1_SCL.enable",          "S1ASCL.enable",
                "FACE_OFF.enable",    "FACEBLEND_OFF.enable",

                // 以下0.2.4で廃止
                "FACE_ANIME_SPEED",
                "MABATAKI_SPEED",
                "PELVIS",             "PELVIS.x",               "PELVIS.y",          "PELVIS.z",
            };
            CharacterMgr cm = GameMain.Instance.CharacterMgr;

            for (int i = 0, n = cm.GetStockMaidCount(); i < n; i++)
            {
                Maid maid = cm.GetStockMaid(i);
                foreach (string s in obsoleteSettings)
                {
                    ExSaveData.Remove(maid, PluginName, s);
                }

                {
                    string fname = ExSaveData.Get(maid, PluginName, "SLIDER_TEMPLATE", null);
                    if (string.IsNullOrEmpty(fname))
                    {
                        ExSaveData.Set(maid, PluginName, "SLIDER_TEMPLATE", "UnityInjector/Config/MaidVoicePitchSlider.xml", true);
                    }
                }
            }

            string[] obsoleteGlobalSettings =
            {
                "TEST_GLOBAL_KEY"
            };
            foreach (string s in obsoleteGlobalSettings)
            {
                ExSaveData.GlobalRemove(PluginName, s);
            }
        }
コード例 #5
0
        void LoadSettings(Maid maid)
        {
            if (maid == null)
            {
                return;
            }

            bool   autoCam       = ExSaveData.GetBool(maid, PluginName, "AutoCameraInitialValue", true);
            bool   eyeToCam      = ExSaveData.GetBool(maid, PluginName, "EyeToCameraInitialValue", true);
            string clothMaskMode = ExSaveData.Get(maid, PluginName, "ClothMaskMode", "");
            string bgName        = ExSaveData.Get(maid, PluginName, "BgName", "");
            string poseName      = ExSaveData.Get(maid, PluginName, "PoseName", "");

#if DEBUG
            Console.WriteLine(
                "PersonalizedEditSceneSettings.LoadSettings : name={0}{1}, autoCam={2}, eyeToCam={3}, cloth={4}, bg={5}, pose={6}",
                maid.Param.status.last_name, maid.Param.status.first_name,
                autoCam, eyeToCam, clothMaskMode, bgName, poseName);
#endif

            editViewReset.SetVisibleAutoCam(autoCam);
            editViewReset.SetVisibleEyeToCam(eyeToCam);
            sceneEdit.ClothesState(Helper.ToEnum <SceneEditInfo.ClothesState>(clothMaskMode, SceneEditInfo.ClothesState.Wear));

            SceneEdit.PVBInfo bgPvbInfo = sceneEdit.m_listBg.FirstOrDefault(i => i.info.strFileName == bgName);
            if (bgPvbInfo != null)
            {
                sceneEdit.Bg(bgPvbInfo);
            }

            SceneEdit.PVBInfo[] poses       = sceneEdit.m_dicPose[maid.Param.status.personal];
            SceneEdit.PVBInfo   posePvbInfo = poses.FirstOrDefault(i => i.info.strFileName + ".anm" == poseName);
            if (posePvbInfo != null)
            {
                sceneEdit.Pose(posePvbInfo);
            }

            LoadCameraSettings(maid);
        }
コード例 #6
0
 static TemplateFile Get(Maid maid, string PluginName)
 {
     return(Get(ExSaveData.Get(maid, PluginName, "FACE_SCRIPT_TEMPLATE", null)));
 }