Exemple #1
0
 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 RemoveFlagAll()
 {
     foreach (var maid in GameMain.Instance.CharacterMgr.GetStockMaidList())
     {
         MyLog.LogMessage("RemoveEventEndFlagAll:" + MyUtill.GetMaidFullName(maid));;
         maid.status.RemoveFlagAll();
     }
 }
 public static void RemoveEventEndFlag(Maid maid)
 {
     if (maid != null)
     {
         MyLog.LogDarkBlue("RemoveEventEndFlag" + MyUtill.GetMaidFullName(maid));
         maid.status.RemoveEventEndFlagAll();
     }
 }
Exemple #4
0
 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 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 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);
     }
 }
Exemple #8
0
        /// <summary>
        /// 게임 실행시 한번만 실행됨
        /// </summary>
        public void Start()
        {
            myLog.LogMessage("Start");

            PoseStreamLillyGUI.Install(gameObject, Config);

            //SystemShortcutAPI.AddButton(MyAttribute.PLAGIN_FULL_NAME, new Action(delegate () { enabled = !enabled; }), MyAttribute.PLAGIN_NAME, MyUtill.ExtractResource(COM3D2.PoseStreamLilly.Plugin.Properties.Resources.icon));
            SystemShortcutAPI.AddButton(MyAttribute.PLAGIN_FULL_NAME, new Action(delegate() {
                myLog.LogMessage("SystemShortcutAPI.AddButton", MyAttribute.PLAGIN_FULL_NAME, PoseStreamLillyGUI.isGUIOn);
                PoseStreamLillyGUI.isGUIOn = !PoseStreamLillyGUI.isGUIOn;
            }), MyAttribute.PLAGIN_NAME + " : " + ShowCounter.Value.ToString(), MyUtill.ExtractResource(COM3D2.PoseStreamLilly.Plugin.Properties.Resources.icon));
        }
Exemple #9
0
 // 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
                          );
     }
 }
Exemple #10
0
 /// <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;
 }
 // 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
             );
     }
 }
Exemple #12
0
 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;
 }
 // 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
             );
     }
 }
 public static void PresetSet(Maid f_maid, CharacterMgr.Preset f_prest)
 {
     if (configEntryUtill["PresetSet", false])
     {
         return;
     }
     MyLog.LogMessage("CharacterMgr.PresetSet.f_prest.strFileName:" + f_prest.strFileName + " , " + f_prest.ePreType);
     MaidProp[] array = MyUtill.getMaidProp(f_prest);
     foreach (MaidProp maidProp in array)
     {
         if (maidProp.strFileName.Length > 0)// 값 없는거 출력 방지
         {
             MyLog.LogMessage("PresetSetPostfix2: " + maidProp.idx.ToString().PadLeft(3) + " , " + maidProp.strFileName);
         }
     }
 }
Exemple #15
0
 [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;
     }
 }
Exemple #16
0
        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;
            }
        }
Exemple #18
0
        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
        }
Exemple #22
0
        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);
        }
Exemple #23
0
        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);
        }
Exemple #24
0
        private void DrawVMDAnimationArea()
        {
            //EnsureResourceLoaded();
            //GUI.skin.GetStyle("Button");
            scrollPosition = GUILayout.BeginScrollView(scrollPosition);

            #region Favorites

            GUILayout.BeginHorizontal();

            if (GUILayout.Button("Favorites", gui[100, 25]))
            {
                isFavorites = !isFavorites;
            }
            if (GUILayout.Button("add", gui[50f, 25f]))
            {
                SongMotionUtill.Set(
                    FavoritesName
                    , oggFilename
                    //, VMDAnimationMgr.Instance.controllers.Where(x=> CharacterMgrPatch.maids.Contains(x.maid) ).Select(x => x.lastLoadedVMD).ToArray()
                    , VMDAnimationMgr.Instance.maidcontrollers.Values.Select(x => new SongMotionUtill.motionAndTime(x.lastLoadedVMD, x.timeShiftNow)).ToArray()
                    );
                // MyLog.LogMessage("add", VMDAnimationMgr.Instance.controllers.Count, CharacterMgrPatch.maids.Count, VMDAnimationMgr.Instance.controllers.Where(x => CharacterMgrPatch.maids.Contains(x.maid)).Count() );
                MyLog.LogMessage("add", VMDAnimationMgr.Instance.maidcontrollers.Count, CharacterMgrPatch.maids.Count);
            }
            FavoritesName = GUILayout.TextField(FavoritesName, gui[350, 25]);
            if (GUILayout.Button("reload", gui[50, 25]))
            {
                SongMotionUtill.Deserialize();
            }
            if (GUILayout.Button("chack", gui[50, 25]))
            {
                MyLog.LogMessage("chack", VMDAnimationMgr.Instance.maidcontrollers.Count);
                MyLog.LogMessage("chack", CharacterMgrPatch.maids.Count);
            }
            GUILayout.EndHorizontal();


            if (isFavorites)
            {
                foreach (var item in SongMotionUtill.GetList())
                {
                    GUILayout.BeginHorizontal();
                    if (GUILayout.Button(item.Key, gui[550f, 25f]))
                    {
                        FavoritesName = item.Key;
                        //VMDAnimationMgr.Instance.ControllerInstallAll();
                        VMDAnimationMgr.Instance.ClearAll();
                        if (item.Value.Motions2.Count > 0)
                        {
                            //var v = VMDAnimationMgr.Instance.maidcontrollers.ToList();
                            //var v=VMDAnimationMgr.Instance.controllers.Where(x => CharacterMgrPatch.maids.Contains(x.maid)).ToList();
                            var v = CharacterMgrPatch.maids;
                            for (int i = 0; i < item.Value.Motions2.Count && i < v.Count; i++)
                            {
                                vMDAnimationControllerSub = VMDAnimationController.Install(v[i]);
                                vMDAnimationControllerSub.VMDAnimEnabled = true;
                                vMDAnimationControllerSub.timeShiftNow   = item.Value.Motions2[i].time;
                                vMDAnimationControllerSub.LoadVMDAnimation(item.Value.Motions2[i].motion);
                            }
                            //vMDAnimationController = VMDAnimationController.Install(focusChara);
                            lastFilename = vMDAnimationController.lastLoadedVMD;
                        }
                        oggFilename = item.Value.Song;
                        AudioManager.Load(oggFilename, vMDAnimationController.Loop);

                        //for (int i = 0; i < item.Value.Motions.Count && i < v.Count; i++)
                        //{
                        //    vMDAnimationController.Play();
                        //}
                        VMDAnimationMgr.Instance.PlayAll();
                        AudioManager.Play();

                        isFavorites = false;
                        this.gameObject.SetActive(false);
                    }
                    if (GUILayout.Button("Del", gui[50f, 25f]))
                    {
                        SongMotionUtill.Del(item.Key);
                    }
                    GUILayout.EndHorizontal();
                }
            }

            #endregion

            #region OGG ===========================================

            GUILayout.BeginHorizontal( );

            GUILayout.Label("OGG", gui[50, 25]);

            if (GUILayout.Button("load", gui[50, 25]))
            {
                if (vMDAnimationController != null)
                {
                    AudioManager.Load(oggFilename, vMDAnimationController.Loop);
                }
                else
                {
                    AudioManager.Load(oggFilename, true);
                }
            }
            if (AudioManager.isPlay())
            {
                if (GUILayout.Button("Pause", (GUILayoutOption[])new GUILayoutOption[2] {
                    GUILayout.Width(50f), GUILayout.Height(25f)
                }))
                {
                    AudioManager.Pause();
                }
            }
            else
            {
                if (GUILayout.Button("play", (GUILayoutOption[])new GUILayoutOption[2] {
                    GUILayout.Width(50f), GUILayout.Height(25f)
                }))
                {
                    AudioManager.Play();
                }
            }
            if (oggFilename == null)
            {
                oggFilename = string.Empty;
            }
            oggFilename = GUILayout.TextField(oggFilename, gui[350, 25]);
            if (GUILayout.Button("...", gui[30, 25]))
            {
                dialog.Filter = "OGG files (*.ogg)|*.ogg|WAV files (*.wav)|*.wav";

                if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    // 음악은 상대경로가 안먹힌다?
                    oggFilename = MyUtill.EvaluateRelativePath(Environment.CurrentDirectory, dialog.FileName);
                    if (vMDAnimationController != null)
                    {
                        AudioManager.Load(oggFilename, vMDAnimationController.Loop);
                    }
                    else
                    {
                        AudioManager.Load(oggFilename, true);
                    }
                    AudioManager.Play();
                }
            }
            GUILayout.EndHorizontal();

            #endregion =================================



            if (focusChara == null)
            {
                GUILayout.BeginHorizontal( );
                GUILayout.Label("Character not selected.", (GUILayoutOption[])new GUILayoutOption[1]
                {
                    GUILayout.Width(200f)
                });
                //GUILayout.Space(50f);
                if (GUILayout.Button("Close", gui[50f, 25f]))
                {
                    this.gameObject.SetActive(false);
                }
                GUILayout.EndHorizontal();
            }
            else
            {
                vMDAnimationController = VMDAnimationController.Install(focusChara);
                if (!(vMDAnimationController == null) && focusChara != null)
                {
                    GUILayout.BeginVertical();
                    if (vMDAnimationController != lastController)
                    {
                        lastFilename   = vMDAnimationController.lastLoadedVMD;
                        lastController = vMDAnimationController;
                        timeShiftNow   = vMDAnimationController.timeShiftNow;
                    }
                    if (lastFilename == null)
                    {
                        lastFilename = "";
                    }

                    #region Maid Select

                    GUILayout.BeginHorizontal( );

                    if (GUILayout.Button("<", gui[20f, 25f]))
                    {
                        focusChara = FindPrevNextMaid(false);
                    }
                    if (GUILayout.Button(">", gui[20f, 25f]))
                    {
                        focusChara = FindPrevNextMaid(true);
                    }
                    if (GUILayout.Button(vMDAnimationController.VMDAnimEnabled ? "On" : "Off", gui[50f, 25f]))
                    {
                        vMDAnimationController.VMDAnimEnabled = !vMDAnimationController.VMDAnimEnabled;
                        //isFavorites = vMDAnimationController.VMDAnimEnabled;
                    }
                    GUILayout.Label((focusChara.status.fullNameJpStyle), (GUILayoutOption[])new GUILayoutOption[1]
                    {
                        GUILayout.Width(200f)
                    });

                    /*
                     * if (vMDAnimationController.VMDAnimEnabled)
                     * {
                     *  GUILayout.Space(50f);
                     *  if (vMDAnimationController.lastLoadedVMD != null && File.Exists(vMDAnimationController.lastLoadedVMD))
                     *  {
                     *      GUILayout.Label(Path.GetFileNameWithoutExtension(vMDAnimationController.lastLoadedVMD),  );
                     *  }
                     * }
                     */
                    GUILayout.Space(50f);
                    if (GUILayout.Button("Close", gui[50f, 25f]))
                    {
                        this.gameObject.SetActive(false);
                    }
                    //GUILayout.Space(50f);

                    GUILayout.EndHorizontal();

                    #endregion

                    if (vMDAnimationController.VMDAnimEnabled)
                    {
                        #region VMD =====================================================================

                        GUILayout.BeginHorizontal( );
                        GUILayout.Label("VMD", (GUILayoutOption[])new GUILayoutOption[2] {
                            GUILayout.Width(50f), GUILayout.Height(25f)
                        });
                        if (GUILayout.Button("Load", (GUILayoutOption[])new GUILayoutOption[2] {
                            GUILayout.Width(50f), GUILayout.Height(25f)
                        }))
                        {
                            vMDAnimationController.LoadVMDAnimation(lastFilename, true);
                        }
                        if (GUILayout.Button("Reload", gui[50f, 25f]))
                        {
                            vMDAnimationController.ReloadVMDAnimation();
                            lastFilename = vMDAnimationController.lastLoadedVMD;
                        }
                        if (lastFilename == null)
                        {
                            lastFilename = string.Empty;
                        }
                        lastFilename = GUILayout.TextField(lastFilename, gui[350f, 25f]);
                        if (GUILayout.Button("...", gui[30f, 25f]))
                        {
                            //System.Windows.Forms.OpenFileDialog dialog = new System.Windows.Forms.OpenFileDialog();
                            dialog.Filter = "VMD files (*.vmd)|*.vmd";

                            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                            {
                                lastFilename = MyUtill.EvaluateRelativePath(Environment.CurrentDirectory, dialog.FileName);
                                vMDAnimationController.LoadVMDAnimation(lastFilename);
                                vMDAnimationController.Play();
                            }
                        }
                        if (GUILayout.Button("All apply", gui[60, 25f]))
                        {
                            VMDAnimationMgr.Instance.ClearAll();
                            foreach (var item in  CharacterMgrPatch.maids)
                            {
                                vMDAnimationControllerSub = VMDAnimationController.Install(item);
                                vMDAnimationControllerSub.VMDAnimEnabled = true;
                                vMDAnimationControllerSub.LoadVMDAnimation(lastFilename);
                            }
                            //vMDAnimationController = VMDAnimationController.Install(focusChara);
                            VMDAnimationMgr.Instance.PlayAll();
                        }
                        GUILayout.EndHorizontal();

                        #endregion

                        #region play

                        GUILayout.BeginHorizontal( );
                        GUILayout.Label("(Player)", gui[50f, 25f]);
                        if (GUILayout.Button("Play", gui[50f, 25f]))
                        {
                            vMDAnimationController.Play();
                            AudioManager.Play(vMDAnimationController.Loop);
                            this.gameObject.SetActive(false);
                        }
                        if (GUILayout.Button("Pause", gui[50f, 25f]))
                        {
                            vMDAnimationController.Pause();
                            AudioManager.Pause(vMDAnimationController.Loop);
                        }
                        if (GUILayout.Button("Stop", gui[50f, 25f]))
                        {
                            vMDAnimationController.Stop();
                            AudioManager.Stop();
                        }
                        GUILayout.Space(30f);
                        GUILayout.Label("(All)", gui[GUILayoutOptionUtill.Type.Width, 50f]);
                        if (GUILayout.Button("Play", gui[50f, 25f]))
                        {
                            VMDAnimationMgr.Instance.PlayAll();
                            AudioManager.Play();
                            this.gameObject.SetActive(false);
                        }
                        if (GUILayout.Button("Pause", gui[50f, 25f]))
                        {
                            VMDAnimationMgr.Instance.PauseAll();
                            AudioManager.Pause(vMDAnimationController.Loop);
                        }
                        if (GUILayout.Button("Stop", gui[50f, 25f]))
                        {
                            VMDAnimationMgr.Instance.StopAll();
                            AudioManager.Stop();
                        }
                        GUILayout.EndHorizontal();

                        #endregion

                        #region option

                        #region time shift

                        GUILayout.BeginHorizontal();
                        GUILayout.Label("Sync Anm to BGM", gui[GUILayoutOptionUtill.Type.Width, 120f]);
                        if (GUILayout.Button(vMDAnimationController.SyncToBGM ? "On" : "Off", gui[GUILayoutOptionUtill.Type.Width, 40f]))
                        {
                            vMDAnimationController.SyncToBGM = !vMDAnimationController.SyncToBGM;
                        }

                        /*GUILayout.Space(30f);
                         *                      GUILayout.Label("Sync BGM to Anm", (GUILayoutOption[])new GUILayoutOption[1]
                         *                      {
                         *                                      GUILayout.Width(120f)
                         *                      });
                         *                      if (GUILayout.Button(vMDAnimationController.SyncToAnim ? "On" : "Off", (GUILayoutOption[])new GUILayoutOption[1]
                         *                      {
                         *                                      GUILayout.Width(40f)
                         *                      }))
                         *                      {
                         *                              vMDAnimationController.SyncToAnim = !vMDAnimationController.SyncToAnim;
                         *                      }*/

                        GUILayout.EndHorizontal();

                        GUILayout.BeginHorizontal();

                        //                    GUILayout.Label("time shift");

                        //                  timeShiftNow_s = GUILayout.TextField(timeShiftNow.ToString(), gui[GUILayoutOptionUtill.Type.Width, 40]);

                        //                      GUILayout.Label("min");

                        //timeShiftNow= GUILayout.HorizontalSlider(timeShiftNow, timeShiftMin, timeShiftMax, gui[GUILayoutOptionUtill.Type.Width, 80]);
                        vMDAnimationController.timeShiftNow = AddSliderWithTextFixedScale("time shift", vMDAnimationController.timeShiftNow, timeShiftMin, timeShiftMax);
                        //sizeMultiplier = EditorGUILayout.FloatField("Increase scale by:", sizeMultiplier);


                        if (!float.TryParse(GUILayout.TextField(timeShiftMin.ToString("0.00"), gui[GUILayoutOptionUtill.Type.Width, 60]), out timeShiftMin))
                        {
                            timeShiftMin = -60;
                        }

                        if (!float.TryParse(GUILayout.TextField(timeShiftMax.ToString("0.00"), gui[GUILayoutOptionUtill.Type.Width, 60]), out timeShiftMax))
                        {
                            timeShiftMax = 60;
                        }

//                        GUILayout.Label("max");

                        //if (GUI.changed)
                        //{
                        //    if (!float.TryParse(timeShiftNow_s, out timeShiftNow)) timeShiftNow = 0;
                        //    if (!float.TryParse(timeShiftMin_s, out timeShiftMin)) timeShiftMin = -60;
                        //    if (!float.TryParse(timeShiftMax_s, out timeShiftMax)) timeShiftMax =  60;
                        //
                        //    vMDAnimationController.timeShiftNow = timeShiftNow;
                        //
                        //}
                        if (GUILayout.Button("All apply", gui[60, 25f]))
                        {
                            foreach (var item in CharacterMgrPatch.maids)
                            {
                                vMDAnimationControllerSub = VMDAnimationController.Install(item);
                                vMDAnimationControllerSub.timeShiftNow = vMDAnimationController.timeShiftNow;
                            }
                        }
                        GUILayout.FlexibleSpace();
                        //vMDAnimationController = VMDAnimationController.Install(focusChara);

                        GUILayout.EndHorizontal();

                        #endregion



                        GUILayout.BeginHorizontal( );
                        vMDAnimationController.speed = AddSliderWithText("vmdAnimSpeed", "Speed", vMDAnimationController.speed, 5f);
                        GUILayout.EndHorizontal();


                        GUILayout.BeginHorizontal( );
                        GUILayout.Label("Loop", gui[GUILayoutOptionUtill.Type.Width, 40f]);
                        if (GUILayout.Button(vMDAnimationController.Loop ? "On" : "Off", gui[GUILayoutOptionUtill.Type.Width, 40f]))
                        {
                            vMDAnimationController.Loop = !vMDAnimationController.Loop;
                            AudioManager.SetLoop(vMDAnimationController.Loop);
                        }
                        GUILayout.Space(20f);
                        GUILayout.Label("Face", gui[GUILayoutOptionUtill.Type.Width, 40f]);
                        if (GUILayout.Button(vMDAnimationController.faceAnimeEnabled ? "On" : "Off", gui[GUILayoutOptionUtill.Type.Width, 40f]))
                        {
                            vMDAnimationController.faceAnimeEnabled = !vMDAnimationController.faceAnimeEnabled;
                        }
                        GUILayout.Space(10f);
                        GUILayout.Label("IK (foot)", gui[GUILayoutOptionUtill.Type.Width, 60f]);
                        if (GUILayout.Button(vMDAnimationController.enableIK ? "On" : "Off", gui[GUILayoutOptionUtill.Type.Width, 40f]))
                        {
                            vMDAnimationController.enableIK = !vMDAnimationController.enableIK;
                        }
                        GUILayout.Space(10f);
                        if (vMDAnimationController.enableIK)
                        {
                            GUILayout.Label("IK (toe)", gui[GUILayoutOptionUtill.Type.Width, 60f]);
                            if (GUILayout.Button(vMDAnimationController.IKWeight.disableToeIK ? "Off" : "On", gui[GUILayoutOptionUtill.Type.Width, 40f]))
                            {
                                vMDAnimationController.IKWeight.disableToeIK = !vMDAnimationController.IKWeight.disableToeIK;
                            }
                        }

                        /*GUILayout.Space(10f);
                         *                      GUILayout.Label("IK(Head)", (GUILayoutOption[])new GUILayoutOption[1]
                         *                      {
                         *                                      GUILayout.Width(60f)
                         *                      });
                         *                      if (GUILayout.Button(vMDAnimationController.enableHeadRotate ? "On" : "Off", (GUILayoutOption[])new GUILayoutOption[1]
                         *                      {
                         *                                      GUILayout.Width(40f)
                         *                      }))
                         *                      {
                         *                              vMDAnimationController.enableHeadRotate = !vMDAnimationController.enableHeadRotate;
                         *                      }*/
                        GUILayout.EndHorizontal();



                        if (vMDAnimationController.enableIK)
                        {
                            GUILayout.BeginHorizontal( );
                            vMDAnimationController.IKWeight.footIKPosWeight = AddSliderWithText("vmdIKFootPosWeight", "IK Weight(pos)", vMDAnimationController.IKWeight.footIKPosWeight, 1f);
                            GUILayout.EndHorizontal();
                            GUILayout.BeginHorizontal( );
                            vMDAnimationController.IKWeight.footIKRotWeight = AddSliderWithText("vmdIKFootRotWeight", "IK Weight(rot)", vMDAnimationController.IKWeight.footIKRotWeight, 1f);
                            GUILayout.EndHorizontal();
                        }
                        GUILayout.BeginHorizontal( );
                        GUILayout.Label("Config: (needs Reload): ", gui[GUILayoutOptionUtill.Type.Width, 150f]);
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        float num = AddSliderWithText("vmdCenterYPos", "(PMD)Center pos(y)", vMDAnimationController.centerBasePos.y, 15f);
                        if (num != vMDAnimationController.centerBasePos.y)
                        {
                            vMDAnimationController.centerBasePos.y = num;
                            //vMDAnimationController.centerBasePos = new Vector3(0f, num, 0f);
                        }
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        float num2 = AddSliderWithTextFixedScale("(PMD)Hip pos(y)", vMDAnimationController.hipPositionAdjust.y, 1f, 6f);
                        if (num2 != vMDAnimationController.hipPositionAdjust.y)
                        {
                            vMDAnimationController.hipPositionAdjust.y = num2;
                            //vMDAnimationController.hipPositionAdjust = new Vector3(0f, num2, 0f);
                        }
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        float num3 = AddSliderWithText("vmdModelScale", "Model Scale", vMDAnimationController.quickAdjust.ScaleModel, 2f);
                        if (num3 != vMDAnimationController.quickAdjust.ScaleModel)
                        {
                            vMDAnimationController.quickAdjust.ScaleModel = num3;
                        }
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        vMDAnimationController.quickAdjust.Shoulder = AddSliderWithTextFixedScale("Shoulder Tilt", vMDAnimationController.quickAdjust.Shoulder, -10f, 40f);
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        vMDAnimationController.quickAdjust.ArmUp = AddSliderWithTextFixedScale("Upper Arm Tilt", vMDAnimationController.quickAdjust.ArmUp, -10f, 40f);
                        GUILayout.EndHorizontal();
                        GUILayout.BeginHorizontal( );
                        vMDAnimationController.quickAdjust.ArmLow = AddSliderWithTextFixedScale("Lower Arm Tilt", vMDAnimationController.quickAdjust.ArmLow, -10f, 40f);
                        GUILayout.EndHorizontal();
                        //GUILayout.Label("Other Config", (GUILayoutOption[])new GUILayoutOption[1]
                        //{
                        //	GUILayout.Width(150f)
                        //});
                        //GUILayout.BeginHorizontal( );
                        //vMDAnimationController.BgmVolume = AddSliderWithTextFixedScale("BGM volume", vMDAnimationController.BgmVolume, 0f, 1f);
                        //GUILayout.EndHorizontal();

                        #endregion
                    }

                    GUILayout.EndVertical();
                }
            }

            GUILayout.EndScrollView();
        }
        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();
            });
        }
        internal static void print()
        {
            try
            {
                //AccessTools.Field
                MyLog.LogDarkBlue("m_AllScenarioData. start");
                if (m_AllScenarioData != null)
                {
                    foreach (var item in m_AllScenarioData)
                    {
                        if (item.Value == null)
                        {
                            continue;
                        }
                        ScenarioData scenarioData = item.Value;
                        MyLog.LogMessage("ScenarioSelectMgr1"
                                         , scenarioData.ID
                                         , scenarioData.NotLineTitle
                                         //, scenarioData.Title
                                         , scenarioData.ScenarioScript
                                         , scenarioData.EventContents
                                         , scenarioData.IsImportant
                                         , scenarioData.IsPlayable
                                         , scenarioData.IsOncePlayed
                                         , scenarioData.ScriptLabel
                                         , scenarioData.NotPlayAgain
                                         , scenarioData.EventMaidCount
                                         , scenarioData.ConditionCount
                                         , MyUtill.Join("/", scenarioData.ConditionText)
                                         );
                    }
                }

                MyLog.LogDarkBlue("m_ImportantScenarioList. start");
                if (m_ImportantScenarioList != null)
                {
                    foreach (ScenarioData scenarioData in m_ImportantScenarioList)
                    {
                        MyLog.LogMessage("ScenarioSelectMgr2"
                                         , scenarioData.ID
                                         , scenarioData.NotLineTitle
                                         //, scenarioData.Title
                                         , scenarioData.ScenarioScript
                                         , scenarioData.EventContents
                                         , scenarioData.IsImportant
                                         , scenarioData.IsPlayable
                                         , scenarioData.IsOncePlayed
                                         , scenarioData.ScriptLabel
                                         , scenarioData.NotPlayAgain
                                         , scenarioData.EventMaidCount
                                         , scenarioData.ConditionCount
                                         , MyUtill.Join("/", scenarioData.ConditionText)
                                         );
                    }
                }

                MyLog.LogMessage("ScenarioSelectMgr3"
                                 , m_AllScenarioData.Count
                                 , m_ImportantScenarioList.Count
                                 , m_AddedScenerio.Length
                                 );
            }
            catch (Exception e)
            {
                MyLog.LogWarning("ScenarioSelectMgr4", e.ToString()
                                 );
            }
        }
Exemple #27
0
        /// <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");
                });
            }
        }
Exemple #28
0
        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;
            }
        }
Exemple #29
0
        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;
            });
        }