public static void SetMaidJobClass(Maid maid) { #region JobClass JobClassSystem jobClassSystem = maid.status.jobClass; List <JobClass.Data> learnPossibleClassDatas = jobClassSystem.GetLearnPossibleClassDatas(true, AbstractClassData.ClassType.Share | AbstractClassData.ClassType.New | AbstractClassData.ClassType.Old); if (configEntryUtill["SetMaidJobClass", false]) { MyLog.LogMessage("SetMaidStatus.JobClass.learn: " + MyUtill.GetMaidFullName(maid), learnPossibleClassDatas.Count); } foreach (JobClass.Data data in learnPossibleClassDatas) { jobClassSystem.Add(data, true, true); } var jobClassSystems = jobClassSystem.GetAllDatas().Values;// old 데이터 포함 if (configEntryUtill["SetMaidJobClass", false]) { MyLog.LogMessage("SetMaidStatus.JobClass.expSystem: " + MyUtill.GetMaidFullName(maid), jobClassSystems.Count); } SetExpMax(jobClassSystems.Select(x => x.expSystem)); #endregion }
public static void Visible(Maid __instance, bool value) { if (configEntryUtill["Visible", false]) { MyLog.LogMessage("Visible", MyUtill.GetMaidFullName(__instance), value, __instance.IsCrcBody, __instance.boMAN); } }
public static void PresetSave(Maid f_maid, CharacterMgr.PresetType f_type, CharacterMgr.Preset __result) { if (configEntryUtill["PresetSave", false]) { MyLog.LogMessage("CharacterMgr.PresetSavePost0: " + MyUtill.GetMaidFullName(f_maid) + " , " + __result.strFileName + " , " + __result.ePreType); } }
[HarmonyPrefix]//HarmonyPostfix ,HarmonyPrefix public static void EnableNoonWork(ref bool __result, int workId, Maid maid) { if (configEntryUtill["EnableNoonWork", false]) { MyLog.LogMessage("ScheduleAPI.EnableNoonWork" , __result , workId , MyUtill.GetMaidFullName(maid) , SceneFreeModeSelectManager.IsFreeMode ); } if (configEntryUtill["EnableNoonWork_result"]) { if (SceneFreeModeSelectManager.IsFreeMode) { __result = true; } } /* * if (Lilly.isLogOnOffAll) * MyLog.LogMessage("EnableNoonWork:" + SceneFreeModeSelectManager.IsFreeMode * , workId * , ScheduleCSVData.AllData[workId].name * , maid != null ? MaidUtill.GetMaidFullNale(maid) : "" ); */ //return false; // SceneFreeModeSelectManager.IsFreeMode; }
/// <summary> /// 랜덤으로 커뮤니케이션 설정 /// </summary> public static void SetRandomCommu(bool isDaytime) { List <Maid> list = ScheduleAPI.CanCommunicationMaids(isDaytime); if (list.Count > 0) { int i = UnityEngine.Random.Range(0, list.Count); if (isDaytime) { foreach (Maid item in list) { item.status.noonCommu = false; } list[i].status.noonCommu = true; } else { foreach (var item in list) { item.status.nightCommu = false; } list[i].status.nightCommu = true; } MyLog.LogMessage("ScheduleAPI.SetRandomCommu" , MyUtill.GetMaidFullName(list[i]) , isDaytime ); } else { MyLog.LogMessage("ScheduleAPI.SetRandomCommu count 0" , isDaytime ); } }
public static void RemoveEventEndFlag(Maid maid) { if (maid != null) { MyLog.LogDarkBlue("RemoveEventEndFlag" + MyUtill.GetMaidFullName(maid)); maid.status.RemoveEventEndFlagAll(); } }
public static void RemoveFlagAll() { foreach (var maid in GameMain.Instance.CharacterMgr.GetStockMaidList()) { MyLog.LogMessage("RemoveEventEndFlagAll:" + MyUtill.GetMaidFullName(maid));; maid.status.RemoveFlagAll(); } }
public static void LoadBody_R(string f_strModelFileName, Maid f_maid) { if (config["LoadBody_R", false]) { MyLog.LogMessage("TBody.LoadBody_R" , f_strModelFileName , MyUtill.GetMaidFullName(f_maid) ); } }
public static void Init(Maid maid) { //if (configEntryUtill["SetResolution"]) { MyLog.LogMessage("YotogiSkillContainerViewer.Init" , MyUtill.GetMaidFullName(maid) ); } YotogiSkillContainerViewerPatch.maid = maid; }
private static void ClickTask( ScheduleMgr __instance , ScheduleCtrl ___m_Ctrl ) // string __m_BGMName 못가져옴 { MyLog.LogMessage("ClickTask" , UIButton.current.name , MyUtill.GetMaidFullName(___m_Ctrl.SelectedMaid) ); }
public static void SetActive(Maid f_maid, int f_nActiveSlotNo, bool f_bMan) { if (configEntryUtill["SetActive", false]) { MyLog.LogMessage("CharacterMgr.SetActive", f_nActiveSlotNo, MyUtill.GetMaidFullName(f_maid)); } if (!f_bMan) { namesMaid[f_nActiveSlotNo] = MyUtill.GetMaidFullName(f_maid); } }
// private static bool CheckCommu(Maid m, bool isDaytime, bool checkCommuState) //[HarmonyPatch(typeof(ScheduleAPI), "CheckCommu")] //[HarmonyPostfix] public static void CheckCommu(bool __result, Maid m, bool isDaytime, bool checkCommuState) { if (!configEntryUtill["CheckCommu_log"]) { MyLog.LogMessage("ScheduleAPI.CheckCommu" , MyUtill.GetMaidFullName(m) , isDaytime , checkCommuState , __result ); } }
/// <summary> /// 원인불명 오류 발생 /// public static ScheduleCalcAPI.ResultSimulateParam SimulateIncomeResult(Maid maid, int workId, Facility facility, ScheduleMgr.ScheduleTime time, ScheduleData.WorkSuccessLv successLv = ScheduleData.WorkSuccessLv.Success, bool commu = false) /// </summary> // [HarmonyPrefix, HarmonyPatch(typeof(ScheduleCalcAPI), "SimulateIncomeResult", new Type[] { typeof(Maid), typeof(int) , typeof(Facility) , typeof(ScheduleMgr.ScheduleTime) , typeof(ScheduleData.WorkSuccessLv) , typeof(bool) })] public static void SimulateIncomeResult(Maid maid, int workId, Facility facility, ScheduleMgr.ScheduleTime time, ScheduleData.WorkSuccessLv successLv = ScheduleData.WorkSuccessLv.Success, bool commu = false) { MyLog.LogMessage( "ScheduleCalcAPI.SimulateIncomeResult" , MyUtill.GetMaidFullName(maid) , workId //, facility.defaultName , time , successLv , commu ); successLv = ScheduleData.WorkSuccessLv.Perfect; }
public static void SimulateMaidStatusResult(Maid maid, int workId, ref ScheduleData.WorkSuccessLv successLv, bool commu = false) { if (configEntryUtill["SimulateMaidStatusResult", false]) { MyLog.LogMessage( "ScheduleCalcAPI.SimulateMaidStatusResult" , MyUtill.GetMaidFullName(maid) , workId , successLv , commu ); } successLv = ScheduleData.WorkSuccessLv.Perfect; }
// private void SetNightWorkId(Maid maid, int setId) public static void SetCommuSlot_Safe( ScheduleScene __instance , Maid maid, int setId ) { if (configEntryUtill["SetNightWorkId", false]) { MyLog.LogMessage( "SetCommuSlot_Safe" , MyUtill.GetMaidFullName(maid) , setId ); } }
// public void SetSlot_Safe(int slotId, Maid maid, bool slotUpdate = true, bool updateAll = true) public static void SetSlot_Safe( ScheduleScene __instance , int slotId, Maid maid, bool slotUpdate = true, bool updateAll = true) { if (configEntryUtill["SetSlot_Safe", false]) { MyLog.LogMessage( "SetSlot_Safe" , slotId , MyUtill.GetMaidFullName(maid) , slotUpdate , updateAll ); } }
[HarmonyPostfix]//HarmonyPostfix ,HarmonyPrefix public static void VisibleNightWork(ref bool __result, int workId, Maid maid) { if (configEntryUtill["VisibleNightWork", false]) { MyLog.LogMessage("ScheduleAPI.VisibleNightWork" , __result , workId , MyUtill.GetMaidFullName(maid) , SceneFreeModeSelectManager.IsFreeMode ); } if (configEntryUtill["VisibleNightWork_result", false]) { __result = true; } }
private void AddStockMaid() { if (configEntryUtill["AddStockMaid"]) { MyLog.LogMessage("GUIMaidEdit.AddStockMaid"); } Maid maid = GameMain.Instance.CharacterMgr.AddStockMaid(); if (rndPersonal) { selGridPersonal = PersonalUtill.SetPersonalRandom(maid); } else { PersonalUtill.SetPersonal(maid, selGridPersonal); } switch (selGridContract) { case 1: maid.status.contract = Contract.Exclusive; break; case 2: maid.status.contract = Contract.Free; break; default: maid.status.contract = MyUtill.RandomEnum(Contract.Trainee); break; } if (_SetMaidStatusOnOff.Value) { CheatUtill.SetMaidAll(maid); } #if PresetUtill PresetUtill.RandPreset(maid); #endif if (configEntryUtill["AddStockMaid"]) { MyLog.LogMessage("GUIMaidEdit.AddStockMaid", MyUtill.GetMaidFullName(maid)); } }
public static void OnSelectChara(Maid ___select_maid_, Dictionary <string, UIButton> ___button_dic_, MaidManagementMain __instance) { // 현제 선택한 메이드 표시 MyLog.LogMessage( "MaidManagementMain.OnSelectChara:" , MyUtill.GetMaidFullName(___select_maid_)); selectMaid = ___select_maid_; #if FlagMaid GUIFlagMaid.SetingFlag(___select_maid_); #endif // MaidStatusUtill.SetMaidStatus(___select_maid_); //___m_maid.status.base = 9999; //___m_maid.status.base = 9999; foreach (var item in ___button_dic_) { item.Value.isEnabled = true; } }
public static void GP01FBFaceEyeRandom(int v, Maid m_maid = null) { if (m_maid == null) { m_maid = GameMain.Instance.CharacterMgr.GetMaid(0); } MyLog.LogMessage("GP01FBFaceEyeRandom", MyUtill.GetMaidFullName(m_maid)); if (v == 1 || v == 2) { GP01FBFaceEyeRandomUp(m_maid); } if (v == 1 || v == 3) { GP01FBFaceEyeRandomDown(m_maid); } m_maid.AllProcProp(); SceneEdit.Instance.UpdateSliders(); }
public static void SetMaidYotogiClass(Maid maid) { MyLog.LogDarkBlue("SetMaidYotogiClass. start"); #region YotogiClass YotogiClassSystem yotogiClassSystem = maid.status.yotogiClass; List <YotogiClass.Data> learnPossibleYotogiClassDatas = yotogiClassSystem.GetLearnPossibleClassDatas(true, AbstractClassData.ClassType.Share | AbstractClassData.ClassType.New | AbstractClassData.ClassType.Old); MyLog.LogMessage("SetMaidStatus.YotogiClass learn", MyUtill.GetMaidFullName(maid), learnPossibleYotogiClassDatas.Count); foreach (YotogiClass.Data data in learnPossibleYotogiClassDatas) { maid.status.yotogiClass.Add(data, true, true); } var yotogiClassSystems = yotogiClassSystem.GetAllDatas().Values; MyLog.LogMessage("SetMaidStatus.YotogiClass expSystem", MyUtill.GetMaidFullName(maid), yotogiClassSystems.Count); SetExpMax(yotogiClassSystems.Select(x => x.expSystem)); #endregion MyLog.LogDarkBlue("SetMaidYotogiClass. end"); }
//public static string[] flagsOldKey; public override void SetBody() { // base.SetBody(); GUI.enabled = Lilly.scene.name == "SceneMaidManagement"; if (!GUI.enabled) { GUILayout.Label("메이드 관리에서 사용 SceneMaidManagement"); return; } GUILayout.Label(MyUtill.GetMaidFullName(maid)); type = GUILayout.SelectionGrid(type, types, 2); if (GUI.changed) { GUIFlagMaid.SetingFlag(maid); } action(); GUI.enabled = true; }
public static void SetMaidSkill(Maid maid) { #region 스킬 영역 List <Skill.Data> learnPossibleSkills = Skill.GetLearnPossibleSkills(maid.status); if (configEntryUtill["SetMaidSkill", false]) { MyLog.LogMessage("SetMaidStatus.Skill learn : " + MyUtill.GetMaidFullName(maid), learnPossibleSkills.Count); } foreach (Skill.Data data in learnPossibleSkills) { maid.status.yotogiSkill.Add(data); } if (configEntryUtill["SetMaidSkill", false]) { MyLog.LogMessage("SetMaidStatus.Skill expSystem : " + MyUtill.GetMaidFullName(maid), maid.status.yotogiSkill.datas.Count); } SetExpMax(maid.status.yotogiSkill.datas.GetValueArray().Select(x => x.expSystem)); List <Skill.Old.Data> learnPossibleOldSkills = Skill.Old.GetLearnPossibleSkills(maid.status); if (configEntryUtill["SetMaidSkill", false]) { MyLog.LogMessage("SetMaidStatus.Old.Skill learn : " + MyUtill.GetMaidFullName(maid), learnPossibleOldSkills.Count); } foreach (Skill.Old.Data data in learnPossibleOldSkills) { maid.status.yotogiSkill.Add(data); } if (configEntryUtill["SetMaidSkill", false]) { MyLog.LogMessage("SetMaidStatus.Old.Skill expSystem : " + MyUtill.GetMaidFullName(maid), maid.status.yotogiSkill.oldDatas.Count); } SetExpMax(maid.status.yotogiSkill.oldDatas.GetValueArray().Select(x => x.expSystem)); #endregion }
internal static void SetWorkAll() { if (isSetAllWorkRun) { return; } Task.Factory.StartNew(() => { isSetAllWorkRun = true; MyLog.LogDarkBlue("ScheduleAPIPatch.SetAllWork. start"); ReadOnlyDictionary <int, NightWorkState> night_works_state_dic = GameMain.Instance.CharacterMgr.status.night_works_state_dic; MyLog.LogMessage("ScheduleAPIPatch.SetAllWork.night_works_state_dic:" + night_works_state_dic.Count); foreach (var item in night_works_state_dic) { NightWorkState nightWorkState = item.Value; nightWorkState.finish = true; } MyLog.LogMessage("ScheduleAPIPatch.SetAllWork.YotogiData:" + ScheduleCSVData.YotogiData.Values.Count); foreach (Maid maid in GameMain.Instance.CharacterMgr.GetStockMaidList()) { MyLog.LogMessage(".SetAllWork.Yotogi:" + MyUtill.GetMaidFullName(maid), ScheduleCSVData.YotogiData.Values.Count); if (maid.status.heroineType == HeroineType.Sub) { continue; } foreach (ScheduleCSVData.Yotogi yotogi in ScheduleCSVData.YotogiData.Values) { #if DEBUG if (Lilly.isLogOn) { MyLog.LogInfo(".SetAllWork:" + yotogi.id , yotogi.name , yotogi.type , yotogi.yotogiType ); } #endif if (DailyMgr.IsLegacy) { maid.status.OldStatus.SetFlag("_PlayedNightWorkId" + yotogi.id, 1); } else { maid.status.SetFlag("_PlayedNightWorkId" + yotogi.id, 1); } if (yotogi.condFlag1.Count > 0) { for (int n = 0; n < yotogi.condFlag1.Count; n++) { maid.status.SetFlag(yotogi.condFlag1[n], 1); } } if (yotogi.condFlag0.Count > 0) { for (int num = 0; num < yotogi.condFlag0.Count; num++) { maid.status.SetFlag(yotogi.condFlag0[num], 0); } } } if (DailyMgr.IsLegacy) { maid.status.OldStatus.SetFlag("_PlayedNightWorkVip", 1); } else { maid.status.SetFlag("_PlayedNightWorkVip", 1); } } MyLog.LogDarkBlue("ScheduleAPIPatch.SetAllWork. end"); isSetAllWorkRun = false; }); }
internal static void SetScenarioDataAll() { if (isRunSetScenarioDataAll) { return; } Task.Factory.StartNew(() => { isRunSetScenarioDataAll = true; MyLog.LogDarkBlue("SetScenarioDataAll. start"); // 병렬 처리 foreach (var scenarioData in GameMain.Instance.ScenarioSelectMgr.GetAllScenarioData()) { // MyLog.LogMessageS(".SetScenarioDataAll:" + scenarioData.ID + " , " + scenarioData.ScenarioScript + " , " + scenarioData.IsPlayable + " , " + scenarioData.Title); ; if (scenarioData.IsPlayable) { //MyLog.LogMessageS(".m_EventMaid"); if (configEntryUtill["SetScenarioDataAll", false]) { MyLog.LogMessage("SetScenarioDataAll1" , scenarioData.ID , scenarioData.Title , scenarioData.ScenarioScript , scenarioData.ScenarioScript.Contains("_Marriage") ); } foreach (var maid in scenarioData.GetEventMaidList()) { if (maid.status.heroineType == HeroineType.Sub) { if (configEntryUtill["SetScenarioDataAll", false]) { MyLog.LogMessage("SetScenarioDataAll2" , MyUtill.GetMaidFullName(maid) , maid.status.heroineType ); } continue; } // try //{ bool b = maid.status.GetEventEndFlag(scenarioData.ID); if (!b) { if (configEntryUtill["SetScenarioDataAll", false]) { MyLog.LogMessage("SetScenarioDataAll3" , MyUtill.GetMaidFullName(maid) , b ); } maid.status.SetEventEndFlag(scenarioData.ID, true); if (scenarioData.ScenarioScript.Contains("_Marriage")) { maid.status.specialRelation = SpecialRelation.Married; maid.status.relation = Relation.Lover; maid.status.OldStatus.isMarriage = true; maid.status.OldStatus.isNewWife = true; //SetMaidCondition(0, '嫁'); } } //} //catch (Exception e) //{ // MyLog.LogError("ScenarioDataUtill.SetScenarioDataAll3 : " + e.ToString()); //} } } try { } catch (Exception e) { MyLog.LogError("ScenarioDataUtill.SetScenarioDataAll2 : " + e.ToString()); } } try { } catch (Exception e) { MyLog.LogError("ScenarioDataUtill.SetScenarioDataAll1 : " + e.ToString()); } MyLog.LogDarkBlue("SetScenarioDataAll. end"); isRunSetScenarioDataAll = false; //FlagUtill.RemoveErrFlagAll(); }); }
public static void SetMaidStatus(Maid maid) { if (maid == null) { MyLog.LogFatal("MaidStatusUtill.SetMaidStatus:null"); return; } MyLog.LogMessage("SetMaidStatus : " + MyUtill.GetMaidFullName(maid)); maid.status.employmentDay = 1;// 고용기간 maid.status.baseAppealPoint = 9999; maid.status.baseCare = 9999; maid.status.baseCharm = 9999; maid.status.baseCooking = 9999; maid.status.baseDance = 9999; maid.status.baseElegance = 9999; maid.status.baseHentai = 9999; maid.status.baseHousi = 9999; maid.status.baseInyoku = 9999; maid.status.baseLovely = 9999; maid.status.baseMaxHp = 9999; maid.status.baseMaxMind = 9999; maid.status.baseMaxReason = 9999; maid.status.baseMvalue = 9999; maid.status.baseReception = 9999; maid.status.baseTeachRate = 9999; maid.status.baseVocal = 9999; maid.status.studyRate = 0; // 습득율 maid.status.likability = 999; // 호감도 if (maid.boNPC) { } //if (true) //{ // //maid.status.contract = Contract.;// 적용 방식 고민 필요 //} //maid.status.specialRelation = SpecialRelation.Married;// 되는건가? maid.status.additionalRelation = AdditionalRelation.Slave;// 되는건가? //maid.status.heroineType = HeroineType.Original;// 기본, 엑스트라 , 이전 // 사용 금지.일반 메이드를 엑스트라로 하면 꼬인다. 반대도 마찬가지 maid.status.relation = Relation.Lover; // 호감도 maid.status.seikeiken = Seikeiken.Yes_Yes; // // 특징 MyLog.LogMessage("SetMaidStatus.AddFeature: " + MyUtill.GetMaidFullName(maid)); foreach (Feature.Data data in Feature.GetAllDatas(true)) { maid.status.AddFeature(data); } // 성벽 MyLog.LogMessage("SetMaidStatus.AddPropensity: " + MyUtill.GetMaidFullName(maid)); foreach (Propensity.Data data in Propensity.GetAllDatas(true)) { maid.status.AddPropensity(data); } MyLog.LogMessage("SetMaidStatus.WorkData max : " + MyUtill.GetMaidFullName(maid), maid.status.workDatas.Count); foreach (WorkData workData in maid.status.workDatas.GetValueArray()) { workData.level = 10; workData.playCount = 9999U; } }
public static void FacilitySlotActive( string maidGuid, Facility facility, ScheduleMgr.ScheduleTime time) { if (configEntryUtill["FacilitySlotActive", false]) { MyLog.LogMessage("ScheduleAPI.FacilitySlotActive" , maidGuid , facility.facilityName , time ); } Maid maid = IsSlotInMaid(maidGuid); if (maid == null) { return; } int key = 0; if (time == ScheduleMgr.ScheduleTime.DayTime) { key = maid.status.noonWorkId; } if (time == ScheduleMgr.ScheduleTime.Night) { key = maid.status.nightWorkId; } if (configEntryUtill["FacilitySlotActive", false]) { MyLog.LogMessage("ScheduleAPI.FacilitySlotActive1" , MyUtill.GetMaidFullName(maid) , key ); } if (ScheduleCSVData.AllData.ContainsKey(key)) { ScheduleCSVData.ScheduleBase scheduleBase = ScheduleCSVData.AllData[key]; if (scheduleBase.type == ScheduleTaskCtrl.TaskType.Work) { ScheduleCSVData.Work work = (ScheduleCSVData.Work)scheduleBase; if (configEntryUtill["FacilitySlotActive", false]) { MyLog.LogMessage("ScheduleAPI.FacilitySlotActive2" , work.facilityId , work.facility.ID , work.facility.name ); } if (configEntryUtill["FacilitySlotActive", false]) { MyLog.LogMessage("ScheduleAPI.FacilitySlotActive3" , ScheduleCSVData.faclilityPowerUpWorkId , facility.defaultData.ID , facility.defaultData.name ); } if (work.facility == facility.defaultData && work.facilityId != ScheduleCSVData.faclilityPowerUpWorkId) { return; } } else if (scheduleBase.type == ScheduleTaskCtrl.TaskType.Training) { ScheduleCSVData.Training training = (ScheduleCSVData.Training)scheduleBase; if (training.facilityId == facility.defaultData.ID) { return; } } } //SetRandomCommu(isDaytime); }
public static void SetFacilityAllMaid(ScheduleMgr.ScheduleTime scheduleTime) { if (ScheduleMgrPatch.m_scheduleApi == null) { MyLog.LogMessage("SetSlotAllDel" , "스케줄 관리 접속 한번 필요" ); return; } if (configEntryUtill["SetFacilityAllMaid", false]) { MyLog.LogMessage( "SetFacilityAllMaid1" ); } //List<KeyValuePair<int, ScheduleCSVData.Work>> works = ScheduleCSVData.WorkData.ToList(); // 스케줄의 슬롯 정보 // public Maid GetScheduleSlot(int slotNo) // if (string.IsNullOrEmpty(this.scheduleSlot[slotNo].maid_guid)) ScheduleData[] scheduleDatas = GameMain.Instance.CharacterMgr.status.scheduleSlot; Maid maid; // 사용 가능한 메이드 슬롯 목록 List <int> slots = new(); for (int i = 0; i < scheduleDatas.Length; i++) { if (scheduleDatas[i].maid_guid == string.Empty) { continue; } slots.Add(i); } //var facilitys = GameMain.Instance.FacilityMgr.GetFacilityArray().Where(x=>x).ToList(); var facilitys = GameMain.Instance.FacilityMgr.GetFacilityArray().ToList(); if (configEntryUtill["SetFacilityAllMaid"]) { MyLog.LogMessage( "SetFacilityAllMaid3" , scheduleDatas.Length , slots.Count , facilitys.Count ); } // 구현부 Facility facility; FacilityDataTable.FacilityDefaultData defaultData; ScheduleCSVData.Work workData; while (facilitys.Count > 2) { int n2 = UnityEngine.Random.Range(2, facilitys.Count); if (facilitys[n2] == null) { if (configEntryUtill["SetFacilityAllMaid"]) { MyLog.LogMessage( "SetFacilityAllMaid null" , n2 ); } } else { facility = facilitys[n2]; defaultData = facility.defaultData; workData = defaultData.workData; if (facility.minMaidCount <= slots.Count && workData.id != 0) { for (int k = 0; k < facility.minMaidCount; k++) { int n1 = UnityEngine.Random.Range(0, slots.Count); try { maid = GameMain.Instance.CharacterMgr.status.GetScheduleSlot(slots[n1]); if (configEntryUtill["SetFacilityAllMaid"]) { MyLog.LogMessage( "SetFacilityAllMaid4" , n2 , n1 , MyUtill.GetMaidFullName(maid) , facility.defaultName ); } //if (ScheduleMgrPatch.m_scheduleApi != null) ScheduleMgrPatch.m_scheduleApi.SetNoonWorkSlot_Safe(scheduleTime, slots[n1], workData.id); facility.AllocationMaid(maid, scheduleTime); } catch (Exception e) { MyLog.LogWarning( "SetFacilityAllMaid4" , n2 , e.ToString() ); } slots.Remove(slots[n1]); } if (slots.Count == 0) { if (!DailyMgrPatch.IsLegacy) { GameMain.Instance.FacilityMgr.UpdateFacilityAssignedMaidData(); } ScheduleAPI.MaidWorkIdErrorCheck(true); return; } } } facilitys.RemoveAt(n2); } facility = facilitys[1]; defaultData = facility.defaultData; workData = defaultData.workData; while (slots.Count > 0) { int n1 = 0; maid = GameMain.Instance.CharacterMgr.status.GetScheduleSlot(slots[n1]); //if (ScheduleMgrPatch.m_scheduleApi != null) ScheduleMgrPatch.m_scheduleApi.SetNoonWorkSlot_Safe(scheduleTime, slots[n1], workData.id); facility.AllocationMaid(maid, scheduleTime); slots.RemoveAt(n1); } if (!DailyMgrPatch.IsLegacy) { GameMain.Instance.FacilityMgr.UpdateFacilityAssignedMaidData(); } ScheduleAPI.MaidWorkIdErrorCheck(true); }
/// <summary> /// 피들러 참고. 이숫자 대체 어디서 들고오는거야 /// </summary> public static void SetEmpireLifeModeDataAll() { if (!isScenarioExecuteCountAllRun) { Task.Factory.StartNew(() => { MyLog.LogDarkBlue("SetScenarioExecuteCountAll. start"); isScenarioExecuteCountAllRun = true; foreach (Maid maid in GameMain.Instance.CharacterMgr.GetStockMaidList()) { if (maid.status.heroineType == HeroineType.Sub) { continue; } foreach (var data in EmpireLifeModeData.GetAllDatas(true)) { //try //{ int cnt = GameMain.Instance.LifeModeMgr.GetScenarioExecuteCount(data.ID); if (cnt >= 255) { continue; } IncrementMaidScenarioExecuteCount(data.ID, maid); MyLog.LogMessage("SetScenarioExecuteCountAll:" + cnt + MyUtill.GetMaidFullName(maid) , data.ID , data.strUniqueName , data.dataScenarioFileName , data.dataScenarioFileLabel ); if (data.dataFlagMaid != null) { MyLog.LogMessage("SetScenarioExecuteCountAll.Maid:" + MyUtill.Join(" | ", data.dataFlagMaid.Keys.ToArray()) ); } if (data.dataFlagPlayer != null) { MyLog.LogMessage("SetScenarioExecuteCountAll.Player:" + MyUtill.Join(" | ", data.dataFlagPlayer.Keys.ToArray()) ); } //m_SaveDataScenarioExecuteCountArray.Add(key, 255, true); //} //catch (Exception e) //{ // MyLog.LogMessage("SetScenarioExecuteCountAll:" + e.ToString()); //} } } isScenarioExecuteCountAllRun = false; MyLog.LogDarkBlue("SetScenarioExecuteCountAll. end"); }); } }