public void Update() { //PluginHelper.LineClear(); PluginHelper.DebugClear(); // テンプレートキャッシュを消去して、再読み込みを促す if (Input.GetKey(KeyCode.F12)) { FaceScriptTemplates.Clear(); SliderTemplates.Clear(); } SliderTemplates.Update(PluginName); // エディット画面にいる場合は特別処理として毎フレームアップデートを行う if (SceneManager.GetActiveScene().name == "SceneEdit") { if (GameMain.Instance != null && GameMain.Instance.CharacterMgr != null) { CharacterMgr cm = GameMain.Instance.CharacterMgr; for (int i = 0, n = cm.GetStockMaidCount(); i < n; i++) { EditSceneMaidUpdate(cm.GetStockMaid(i)); } } } }
public void Update() { //PluginHelper.LineClear(); PluginHelper.DebugClear(); // テンプレートキャッシュを消去して、再読み込みを促す if (Input.GetKey(KeyCode.F12)) { FaceScriptTemplates.Clear(); SliderTemplates.Clear(); } SliderTemplates.Update(PluginName); // エディット画面にいる場合は特別処理として毎フレームアップデートを行う if (Application.loadedLevel == 5) { if (GameMain.Instance != null && GameMain.Instance.CharacterMgr != null) { CharacterMgr cm = GameMain.Instance.CharacterMgr; for (int i = 0, n = cm.GetStockMaidCount(); i < n; i++) { EditSceneMaidUpdate(cm.GetStockMaid(i)); } } // todo 以下を直すこと: // FARMFIX等のスライダーではないトグル操作等を行った場合にコールバックが // 呼ばれていない。これを回避するため、とりあえず毎フレーム呼びだすことにする // MaidVoicePitch_UpdateSliders(); } }
void OnSceneLoaded(Scene scene, LoadSceneMode mode) { KagHooks.SetHook(PluginName, true); // TBody.MoveHeadAndEye 処理終了後のコールバック CM3D2.MaidVoicePitch.Managed.Callbacks.TBody.MoveHeadAndEye.Callbacks[PluginName] = tbodyMoveHeadAndEyeCallback; // BoneMorph_.Blend 処理終了後のコールバック CM3D2.MaidVoicePitch.Managed.Callbacks.BoneMorph_.Blend.Callbacks[PluginName] = boneMorph_BlendCallback; // GameMain.Deserialize処理終了後のコールバック // ロードが行われたときに呼び出される CM3D2.ExternalSaveData.Managed.GameMainCallbacks.Deserialize.Callbacks[PluginName] = (gameMain, f_nSaveNo) => { bDeserialized = true; }; // スカート計算用コールバック CM3D2.MaidVoicePitch.Managed.Callbacks.DynamicSkirtBone.PreUpdateSelf.Callbacks[PluginName] = DynamicSkirtBonePreUpdate; CM3D2.MaidVoicePitch.Managed.Callbacks.DynamicSkirtBone.PostUpdateSelf.Callbacks[PluginName] = DynamicSkirtBonePostUpdate; // 胸ボーンサイズ調整用コールバック CM3D2.MaidVoicePitch.Managed.Callbacks.jiggleBone.PreLateUpdateSelf.Callbacks[PluginName] = jiggleBonePreLateUpdateSelef; CM3D2.MaidVoicePitch.Managed.Callbacks.jiggleBone.PostLateUpdateSelf.Callbacks[PluginName] = jiggleBonePostLateUpdateSelef; CM3D2.MaidVoicePitch.Managed.Callbacks.CharacterMgr.PresetSet.Callbacks[PluginName] = CharacterMgrPresetSet; // ロード直後のシーン読み込みなら、初回セットアップを行う if (bDeserialized) { bDeserialized = false; ExSaveData.CleanupMaids(); CleanupExSave(); } SliderTemplates.Clear(); }