private void SetMaxStats(object sender, EventArgs e) { MaidParam maidParam = SelectedMaid.Maid.Param; maidParam.SetCare(9999); maidParam.SetCharm(9999); maidParam.SetElegance(9999); maidParam.SetEvaluation(999999L); maidParam.SetFrustration(0); maidParam.SetHentai(9999); maidParam.SetHousi(9999); maidParam.SetHp(999); maidParam.SetInyoku(9999); maidParam.SetLikability(999); maidParam.SetLovely(9999); maidParam.SetMValue(9999); maidParam.SetMaidPoint(999); maidParam.SetPlayNumber(9999); maidParam.SetMind(9999); maidParam.SetReason(9999); maidParam.SetReception(9999); maidParam.SetPopularRank(99); maidParam.SetSales(9999999999L); maidParam.SetCurHp(999); maidParam.SetCurMind(999); maidParam.SetCurReason(999); }
private void SetMaxPropensity(object sender, EventArgs e) { MaidParam maidParam = SelectedMaid.Maid.Param; for (Propensity i = Propensity.Null + 1; i < EnumHelper.MaxPropensity; i++) { maidParam.SetPropensity(i, true); } }
private void SetMaxFeature(object sender, EventArgs e) { MaidParam maidParam = SelectedMaid.Maid.Param; for (Feature i = Feature.Null + 1; i < EnumHelper.MaxFeature; i++) { maidParam.SetFeature(i, true); } }
private void SetMaxEroZones(object sender, EventArgs e) { MaidParam maidParam = SelectedMaid.Maid.Param; maidParam.SetSexualMouth(1000); maidParam.SetSexualCuri(1000); maidParam.SetSexualNipple(1000); maidParam.SetSexualThroat(1000); }
private Maid searchStockMaid(string lastName, string firstName) { List <Maid> StockMaidList = GameMain.Instance.CharacterMgr.GetStockMaidList(); foreach (Maid maidn in StockMaidList) { MaidParam m_Param = (MaidParam)fieldMaid.GetValue(maidn); if (lastName.Equals(m_Param.status.last_name) && firstName.Equals(m_Param.status.first_name)) { return(maidn); } } return(null); }
private void SetUnlockMaxAllMaids(object sender, EventArgs e) { foreach (var maid in loadedMaids) { MaidInfo maidInfo = maid.Value; Maid currentMaid = maid.Key; MaidParam maidParam = currentMaid.Param; Debugger.WriteLine(LogLevel.Info, $"Setting all to max for {currentMaid.Param.status.first_name} {currentMaid.Param.status.last_name}"); for (int maidClass = 0; maidClass < EnumHelper.MaxMaidClass; maidClass++) { SetClassIsHave(currentMaid, "maid_class_data", maidClass, true); SetClassLevel(currentMaid, "maid_class_data", maidClass, 10); } maidInfo.UpdateMaidClasses(); foreach (int yotogiClass in EnumHelper.EnabledYotogiClasses) { SetClassIsHave(currentMaid, "yotogi_class_data", yotogiClass, true); SetClassLevel(currentMaid, "yotogi_class_data", yotogiClass, 10); } maidInfo.UpdateYotogiClasses(); maidParam.SetSexualMouth(1000); maidParam.SetSexualCuri(1000); maidParam.SetSexualNipple(1000); maidParam.SetSexualThroat(1000); for (Feature i = Feature.Null + 1; i < EnumHelper.MaxFeature; i++) { maidParam.SetFeature(i, true); } for (Propensity i = Propensity.Null + 1; i < EnumHelper.MaxPropensity; i++) { maidParam.SetPropensity(i, true); } maidParam.SetCare(9999); maidParam.SetCharm(9999); maidParam.SetElegance(9999); maidParam.SetEvaluation(999999L); maidParam.SetFrustration(0); maidParam.SetHentai(9999); maidParam.SetHousi(9999); maidParam.SetHp(999); maidParam.SetInyoku(9999); maidParam.SetLikability(999); maidParam.SetLovely(9999); maidParam.SetMValue(9999); maidParam.SetMaidPoint(999); maidParam.SetPlayNumber(9999); maidParam.SetMind(9999); maidParam.SetReason(9999); maidParam.SetReception(9999); maidParam.SetPopularRank(99); maidParam.SetSales(9999999999L); maidParam.SetCurHp(999); maidParam.SetCurMind(999); maidParam.SetCurReason(999); foreach (var noonWork in ScheduleCSVData.NoonWorkData) { maidParam.SetNewGetWork(noonWork.Value.id); maidInfo.SetWorkValue(noonWork.Value.id, TABLE_COLUMN_TOTAL_XP, 999U); } foreach (var dataDic in Yotogi.skill_data_list.SelectMany(s => s)) { maidParam.SetNewGetSkill(dataDic.Value.id); maidParam.AddSkillExp(dataDic.Value.id, 10000); maidParam.status_.skill_data[dataDic.Value.id].play_count = 1; maidInfo.UpdateSkillData(dataDic.Value.id); } foreach (var dataDic in Yotogi.skill_data_list.SelectMany(s => s)) { maidParam.SetNewGetSkill(dataDic.Value.id); maidInfo.UpdateHasSkill(dataDic.Value.id); } } }
private void LateUpdate() { if (danceMain == null) { return; } // カメラの表示を適当に広げる よくわからんので毎フレームやっとく GameMain.Instance.MainCamera.camera.farClipPlane = xmlManager.farClipPlane; if (maidSetting == false) { if (xmlManager.BackGroundPreset != null) { String extent = Path.GetExtension(xmlManager.BackGroundPreset); if (extent.Equals(".preset")) { maid = searchStockMaid("plugin", "backGround"); if (maid == null) { maid = GameMain.Instance.CharacterMgr.AddStockMaid(); MaidParam m_Param = (MaidParam)fieldMaid.GetValue(maid); m_Param.SetName("plugin", "backGround"); } SetPreset(maid, xmlManager.BackGroundPreset); } else { string[] nameList = xmlManager.BackGroundPreset.Split(' '); if (nameList.Length != 2) { Debug.LogError("DanceBg.Plugin:[Maid name Invalid] " + nameList.Length + "#" + xmlManager.BackGroundPreset); maidSetting = true; return; } maid = searchStockMaid(nameList[0], nameList[1]); if (maid == null) { Debug.LogError("DanceBg.Plugin:[Maid not found] #" + nameList[0] + "#" + nameList[1]); maidSetting = true; return; } } } if (maid != null) { //表示済みのめいどさんの位置変更 int maidIndex; // for(maidIndex = 1; maidIndex < GameMain.Instance.CharacterMgr.GetMaidCount(); maidIndex++){ for (maidIndex = 0; maidIndex < GameMain.Instance.CharacterMgr.GetMaidCount(); maidIndex++) { Maid maidx = GameMain.Instance.CharacterMgr.GetMaid(maidIndex); if (maidx == null) { break; } // if(maidIndex == 0){ // maidx.SetRot(maid.GetRot() + new Vector3(0.0f,180.0f,0.0f)); // } // else{ maidx.SetPos(maidx.gameObject.transform.localPosition + xmlManager.BackGroundPos); // maidx.gameObject.transform.localScale = localscale; // } } // 照明移動は時々?動く ここで初期位置設定 // ダンスによってはMainLight以外にもLightがあるのでLightを移動 lightList = (Light[])FindObjectsOfType(typeof(Light)); lightVectorList = new Vector3[lightList.Length]; for (int i = 0; i < lightList.Length; i++) { lightList[i].gameObject.transform.position = new Vector3(lightList[i].gameObject.transform.position.x, lightList[i].gameObject.transform.position.y, lightList[i].gameObject.transform.position.z) + xmlManager.BackGroundPos; lightVectorList[i] = new Vector3(lightList[i].gameObject.transform.position.x, lightList[i].gameObject.transform.position.y, lightList[i].gameObject.transform.position.z); // Debug.LogError("Dance_khg.Plugin:light.transform.position" + lightList[i].gameObject.transform.position.ToString()); // Debug.LogError("Dance_khg.Plugin:light.transform.eulerAngles" + lightList[i].gameObject.transform.eulerAngles.ToString()); // Debug.LogError("Dance_khg.Plugin:light.range" + lightList[i].type + " " + lightList[i].range); // if(lightList[i].type == LightType.Point) lightList[i].range += 30.0f; // lightList[i].range = lightList[i].range * 2.0f; } // カメラはほぼ毎フレーム移動 トランスフォームの取得しておく cameraTransform = GameMain.Instance.MainCamera.transform; // 背景用メイド設定 GameMain.Instance.CharacterMgr.SetActiveMaid(maid, maidIndex); maid.SetPos(xmlManager.BackGroundPos + xmlManager.BackGroundPos2); maid.SetRot(xmlManager.BackGroundrotate); // maid.gameObject.transform.localScale = localscale; maid.Visible = true; // 固定ライト追加 // GameObject goSubLight; // goSubLight = new GameObject("sub light"); // goSubLight.AddComponent<Light>(); // goSubLight.transform.SetParent(goSubCam.transform); // goSubLight.transform.position = // new Vector3(0.0f, // 1.0f, // 0.0f) + xmlManager.BackGroundPos; // goSubLight.transform.eulerAngles = // new Vector3(90.0f, 全然わからん // 0.0f, // 0.0f); // goSubLight.GetComponent<Light>().type = LightType.Spot; // goSubLight.GetComponent<Light>().type = LightType.Directional; // goSubLight.GetComponent<Light>().range = 10; // goSubLight.GetComponent<Light>().enabled = true; // goSubLight.GetComponent<Light>().intensity = 1.2f; // goSubLight.GetComponent<Light>().spotAngle = ssParam.fValue[PKeySubLight][PPropSubLightRange]; } // GameObject[] gObjList = (GameObject[])FindObjectsOfType(typeof(GameObject)); // foreach (GameObject gObj in gObjList){ // Debug.LogError("DanceBg.Plugin:" + gObj.tag); // } maidSetting = true; } if (cameraTransform != null) { cameraTransform.position = new Vector3(cameraTransform.position.x, cameraTransform.position.y, cameraTransform.position.z) + xmlManager.BackGroundPos; // cameraTransform.position = new Vector3(cameraTransform.position.x * localscale.x, // cameraTransform.position.y * localscale.y, // cameraTransform.position.z * localscale.z) + xmlManager.BackGroundPos; } if (lightList != null) { for (int i = 0; i < lightList.Length; i++) { if (lightList[i].gameObject.transform.position != lightVectorList[i]) { lightList[i].gameObject.transform.position = new Vector3(lightList[i].gameObject.transform.position.x, lightList[i].gameObject.transform.position.y, lightList[i].gameObject.transform.position.z) + xmlManager.BackGroundPos; lightVectorList[i] = new Vector3(lightList[i].gameObject.transform.position.x, lightList[i].gameObject.transform.position.y, lightList[i].gameObject.transform.position.z); // Debug.LogError("Dance_khg.Plugin:light.transform.position" + lightList[i].gameObject.transform.position.ToString()); // Debug.LogError("Dance_khg.Plugin:light.range" + lightList[i].type + " " + lightList[i].range); // Debug.LogError("Dance_khg.Plugin:light.transform.eulerAngles" + lightList[i].gameObject.transform.eulerAngles.ToString()); } } } // if(Input.GetKeyDown(KeyCode.Space)){ // xmlManager = new XmlManager(); // Maid maidx = GameMain.Instance.CharacterMgr.GetMaid(0); // maidx.SetPos(maidx.gameObject.transform.localPosition + xmlManager.BackGroundPos); // } }
private void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { xmlManager = new XmlManager(); } if (!Enum.IsDefined(typeof(TargetLevel), level)) { return; } if (maidSetting == true) { maid0 = GameMain.Instance.CharacterMgr.GetMaid(0); // 着替えたりしてずれたら再同期 誰かひとりでもbusyになるとみんなずれるっぽいのでひとりでもbusyになったら再同期 if (maid0.IsBusy) { rSync = true; } else { rSync = false; } nowBlend = maid0.ActiveFace; for (int i = 0; i < MAX_LISTED_MAID; i++) { if (xmlManager.listPreset[i] != null && motionSetting[i] == true) { maid = GameMain.Instance.CharacterMgr.GetMaid(i + 1); maid.FoceKuchipakuUpdate(maid.body0.m_Bones.GetComponent <Animation>()[(string)anmHash[level]].time); if (nowBlend != lastBlend) { maid.FaceBlend(maid.ActiveFace = nowBlend); } if (maidSync[i] == false) { field = (typeof(DanceMain)).GetField("m_eMode", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); int m_eMode = (int)field.GetValue(danceMain); if (m_eMode == 3) { maid.body0.m_Bones.GetComponent <Animation>()[(string)anmHash[level]].time = NTime.time; if (maidPaku[i] == false) { maid.StartKuchipakuPattern(NTime.time, kuchipaku, true); maidPaku[i] = true; } maidSync[i] = true; } } // 着替えたりしてずれたら再同期 誰かひとりでもbusyになるとみんなずれるっぽいのでひとりでもbusyになったら再同期 if (maidSync[i] == true && maid.IsBusy == true) { rSync = true; } } } if (rSync == true) { for (int i = 0; i < MAX_LISTED_MAID; i++) { maidSync[i] = false; } } lastBlend = nowBlend; return; } for (int i = 0; i < MAX_LISTED_MAID; i++) { if (xmlManager.listPreset[i] != null) { maid = GameMain.Instance.CharacterMgr.GetMaid(i + 1); if (maid == null) { String extent = Path.GetExtension(xmlManager.listPreset[i]); if (extent.Equals(".preset")) { // ここダンスをするたびにmaidさん増えちゃう 適当な名前つけて // 2回目以降は名前で検索したほうがよさげ maid = searchStockMaid("plugin", (i + 1).ToString()); if (maid == null) { maid = GameMain.Instance.CharacterMgr.AddStockMaid(); MaidParam m_Param = (MaidParam)fieldMaid.GetValue(maid); m_Param.SetName("plugin", (i + 1).ToString()); } SetPreset(maid, xmlManager.listPreset[i]); } else { string[] nameList = xmlManager.listPreset[i].Split(' '); maid = searchStockMaid(nameList[0], nameList[1]); if (maid == null) { continue; } } GameMain.Instance.CharacterMgr.SetActiveMaid(maid, i + 1); } maid.SetPos(xmlManager.listPos[i]); maid.body0.VertexMorph_FromProcItem("munel", 1.0f); maid.Visible = true; } } maidSetting = true; }