示例#1
0
        public void OnGui()
        {
            var visibleWindow = IsVisible();

            if (visibleWindow == VisibleWindow.None)
            {
                _lastVisibleWindow = VisibleWindow.None;
                if (_guiActive)
                {
                    _folderTreeView?.StopMonitoringFiles();
                }
                _guiActive = false;
                return;
            }

            _guiActive = true;
            if (_lastVisibleWindow != visibleWindow)
            {
                RefreshCurrentWindow();
            }

            var screenRect = GetDisplayRect();

            IMGUIUtils.DrawSolidBox(screenRect);
            GUILayout.Window(362, screenRect, TreeWindow, "Select character folder");
            IMGUIUtils.EatInputInRect(screenRect);
        }
        public void OnGui()
        {
            var guiShown = false;

            // Check the opened category
            if (_catToggle != null && _catToggle.isOn && _targetScene == Scene.Instance.AddSceneName)
            {
                // Check opened tab
                if (_loadCharaToggle != null && _loadCharaToggle.isOn || _saveCharaToggle != null && _saveCharaToggle.isOn)
                {
                    // Check if the character picture take screen is displayed
                    if (_saveFront == null || !_saveFront.activeSelf)
                    {
                        if (_refreshList)
                        {
                            _folderTreeView.ResetTreeCache();
                            OnFolderChanged();
                            _refreshList = false;
                        }

                        var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.57f), (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
                        IMGUIUtils.DrawSolidBox(screenRect);
                        GUILayout.Window(362, screenRect, TreeWindow, "Select character folder");
                        IMGUIUtils.EatInputInRect(screenRect);
                        guiShown = true;
                    }
                }
            }
            if (!guiShown)
            {
                _folderTreeView?.StopMonitoringFiles();
            }
        }
示例#3
0
        public void OnGui()
        {
            //todo  When loading a coordinate it resets to the main folder without deselect in menu
            var visibleWindow = IsVisible();

            if (visibleWindow == VisibleWindow.None)
            {
                _lastRefreshed = VisibleWindow.None;
                if (_guiActive)
                {
                    _folderTreeView?.StopMonitoringFiles();
                    _guiActive = false;
                }
                return;
            }

            _guiActive = true;
            if (_lastRefreshed != visibleWindow)
            {
                RefreshCurrentWindow();
            }

            var screenRect = MakerFolders.GetDisplayRect();

            IMGUIUtils.DrawSolidBox(screenRect);
            GUILayout.Window(362, screenRect, TreeWindow, "Select clothes folder");
            IMGUIUtils.EatInputInRect(screenRect);
        }
 protected void OnGUI()
 {
     if (uiShow)
     {
         IMGUIUtils.DrawSolidBox(uiRect);
         uiRect = GUILayout.Window(uiWindowHash, uiRect, WindowFunction, "Screenshot settings");
         IMGUIUtils.EatInputInRect(uiRect);
     }
 }
示例#5
0
 public void OnGui()
 {
     if (_newGame != null && _targetScene == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade)
     {
         var screenRect = GetFullscreenBrowserRect();
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(362, screenRect, TreeWindow, "Select character folder");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else
     {
         _folderTreeView?.StopMonitoringFiles();
     }
 }
示例#6
0
 public void OnGui()
 {
     if (_uiObject && _uiObject.activeSelf && _sceneName == Scene.AddSceneName && !Scene.IsOverlap && !Scene.IsNowLoadingFade)
     {
         var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.57f), (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(36, screenRect, TreeWindow, "Select outfit folder");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else
     {
         _folderTreeView?.StopMonitoringFiles();
     }
 }
 public void OnGui()
 {
     if (_customCharaFile != null && _customCharaFile.isVisible && _targetScene == Scene.Instance.AddSceneName)
     {
         var screenRect = GetFullscreenBrowserRect();
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(362, screenRect, TreeWindow, "Select character folder");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else
     {
         _folderTreeView?.StopMonitoringFiles();
     }
 }
示例#8
0
 public void OnGui()
 {
     if (_studioInitObject != null)
     {
         var screenRect = new Rect((int)(Screen.width / 11.3f), (int)(Screen.height / 90f), (int)(Screen.width / 2.5f), (int)(Screen.height / 5f));
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(362, screenRect, TreeWindow, "Select folder with scenes to view");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else
     {
         _folderTreeView?.StopMonitoringFiles();
     }
 }
示例#9
0
        public void OnGui()
        {
            if (_motionIKUI != null && _targetScene == Scene.Instance.AddSceneName)
            {
                if (_refreshList)
                {
                    _refreshList = false;
                }

                var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.57f),
                                          (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.Window(362, screenRect, TreeWindow, "Select hik folder");
                IMGUIUtils.EatInputInRect(screenRect);
            }
        }
示例#10
0
 public void OnGui()
 {
     if (_freeHFile != null && !_isLive && _targetScene == Scene.Instance.AddSceneName)
     {
         _guiActive = true;
         var screenRect = ClassroomFolders.GetFullscreenBrowserRect();
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(362, screenRect, TreeWindow, "Select character folder");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else if (_guiActive)
     {
         _folderTreeView?.StopMonitoringFiles();
         _guiActive = false;
     }
 }
示例#11
0
 public void OnGui()
 {
     if (_uiObject && _uiObject.activeSelf && _sceneName == Manager.Scene.Instance.AddSceneName)
     {
         _guiActive = true;
         var screenRect = new Rect((int)(Screen.width * 0.04), (int)(Screen.height * 0.57f), (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
         IMGUIUtils.DrawSolidBox(screenRect);
         GUILayout.Window(362, screenRect, TreeWindow, "Select outfit folder");
         IMGUIUtils.EatInputInRect(screenRect);
     }
     else if (_guiActive)
     {
         _folderTreeView?.StopMonitoringFiles();
         _guiActive = false;
     }
 }
 public void OnGui()
 {
     if (_costumeInfoEntry != null)
     {
         if (_costumeInfoEntry.isActive())
         {
             var windowRect = new Rect((int)(Screen.width * 0.06f), (int)(Screen.height * 0.32f),
                                       (int)(Screen.width * 0.13f), (int)(Screen.height * 0.4f));
             IMGUIUtils.DrawSolidBox(windowRect);
             GUILayout.Window(363, windowRect, id => TreeWindow(), "Folder with outfits to view");
             IMGUIUtils.EatInputInRect(windowRect);
         }
         else
         {
             _costumeInfoEntry.FolderTreeView?.StopMonitoringFiles();
         }
     }
 }
示例#13
0
        public void OnGui()
        {
            // Check the opened category
            if (_hEditLoadSceneWindow != null && _targetScene == Scene.Instance.AddSceneName)
            {
                if (_refreshList)
                {
                    OnFolderChanged();
                    _refreshList = false;
                }

                var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.55f),
                                          (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.Window(362, screenRect, TreeWindow, "Select scene folder");
                IMGUIUtils.EatInputInRect(screenRect);
            }
        }
        public void OnGui()
        {
            if (!IsVisible())
            {
                return;
            }

            if (_refreshList)
            {
                OnFolderChanged();
                _refreshList = false;
            }

            var screenRect = new Rect((int)(Screen.width * 0.004), (int)(Screen.height * 0.57f),
                                      (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));

            IMGUIUtils.DrawSolidBox(screenRect);
            GUILayout.Window(362, screenRect, TreeWindow, "Select outfit folder");
            IMGUIUtils.EatInputInRect(screenRect);
        }
        public void OnGui()
        {
            var entry = _charaListEntries.Values.SingleOrDefault(x => x.isActiveAndEnabled);

            if (_lastEntry != null && _lastEntry != entry)
            {
                _lastEntry.FolderTreeView?.StopMonitoringFiles();
                _lastEntry = null;
            }
            if (entry == null)
            {
                return;
            }
            _lastEntry = entry;
            var windowRect = new Rect((int)(Screen.width * 0.06f), (int)(Screen.height * 0.32f), (int)(Screen.width * 0.13f), (int)(Screen.height * 0.4f));

            IMGUIUtils.DrawSolidBox(windowRect);
            GUILayout.Window(363, windowRect, id => TreeWindow(entry), "Select folder with cards to view");
            IMGUIUtils.EatInputInRect(windowRect);
        }
示例#16
0
        public void OnGui()
        {
            var entry = Helper.GetActiveEntry();

            if (_lastEntry != null && _lastEntry != entry)
            {
                _lastEntry.FolderTreeView?.StopMonitoringFiles();
                _lastEntry = null;
            }

            if (entry == null)
            {
                return;
            }
            _lastEntry = entry;
            var windowRect = GetMainRect();

            IMGUIUtils.DrawSolidBox(windowRect);
            GUILayout.Window(363, windowRect, id => TreeWindow(entry), WindowLabel);
            IMGUIUtils.EatInputInRect(windowRect);
        }
        public void OnGui()
        {
            var guiShown = false;

            if (_hToggle)                                                        //if preset window is active draw file select
            {
                if (Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.F1)) //if right click or F1 close
                {
                    GameObject.Find("Canvas/clothesFileWindow").SetActive(false);
                    DisablePreset();
                }
                var screenRect = new Rect((int)(Screen.width * 0.04), (int)(Screen.height * 0.57f), (int)(Screen.width * 0.125), (int)(Screen.height * 0.35));
                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.Window(362, screenRect, TreeWindow, "Select outfit folder");
                IMGUIUtils.EatInputInRect(screenRect);
                guiShown = true;
            }
            if (!guiShown)
            {
                _folderTreeView?.StopMonitoringFiles();
            }
        }
示例#18
0
        public void ShowAdvEditor()
        {
            if (!Enabled)
            {
                return;
            }
            if (CurrentScenario == null)
            {
                Enabled = false;
                return;
            }

            _addWinRect  = GUILayout.Window(4207123, _addWinRect, TesterWindow, "ADV Command Creator");
            _listWinRect = GUILayout.Window(4207124, _listWinRect, CommandListWindow, "ADV Command List");
            _varWinRect  = GUILayout.Window(4207125, _varWinRect, VariableWindow, "ADV Inspector");

            if (SolidBackground)
            {
                IMGUIUtils.DrawSolidBox(_addWinRect);
                IMGUIUtils.DrawSolidBox(_listWinRect);
                IMGUIUtils.DrawSolidBox(_varWinRect);
            }
        }
示例#19
0
            private void OnGUI()
            {
                if (_currentHeroine.Count == 0)
                {
                    return;
                }

                var pos         = new Vector2(Input.mousePosition.x, -(Input.mousePosition.y - Screen.height));
                var heroineRect = _currentHeroine.FirstOrDefault(x =>
                {
                    if (x.Value == null)
                    {
                        return(false);
                    }
                    return(GetOccupiedScreenRect(x).Contains(pos));
                });
                var chara = heroineRect.Key;

                if (chara == null)
                {
                    return;
                }

                var pregData = chara.GetPregnancyData();

                var status  = chara.GetHeroineStatus(pregData);
                var heroine = chara as AgentData;

                var windowHeight = status == HeroineStatus.Unknown ? 100 : status == HeroineStatus.Pregnant || status == HeroineStatus.OnLeave ? 180 : 370;
                var screenRect   = new Rect((int)pos.x + 30, (int)pos.y - windowHeight / 2, 180, windowHeight);

                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.BeginArea(screenRect, GUI.skin.box);
                {
                    GUILayout.BeginVertical();
                    {
                        GUILayout.FlexibleSpace();

                        switch (status)
                        {
                        case HeroineStatus.Unknown:
                            GUILayout.Label("This character didn't tell you their risky day schedule yet.");
                            GUILayout.FlexibleSpace();
                            GUILayout.Label("Become closer to learn it!");
                            break;

                        case HeroineStatus.OnLeave:
                            GUILayout.Label("This character is on a maternal leave and will not appear until it is over.");
                            GUILayout.FlexibleSpace();
                            GUILayout.Label("Consider using a rubber next time!");
                            break;

                        case HeroineStatus.Pregnant:
                            GUILayout.Label($"This character is pregnant (on week {pregData.Week} / 40).");
                            GUILayout.FlexibleSpace();
                            if (pregData.GameplayEnabled)
                            {
                                GUILayout.Label(heroine != null ? "The character's body will slowly change, and at the end they will temporarily leave." : "The character's body will slowly change.");
                            }

                            GUILayout.FlexibleSpace();
                            var previousPregcount = Mathf.Max(0, pregData.PregnancyCount - 1);
                            GUILayout.Label($"This character was pregnant {previousPregcount} times before.");
                            break;

                        case HeroineStatus.Safe:
                        case HeroineStatus.Risky:
                            if (heroine == null)
                            {
                                break;
                            }

                            GUILayout.Label(status == HeroineStatus.Safe
                                    ? "This character is on a safe day, have fun!"
                                    : "This character is on a risky day, be careful!");
                            //GUILayout.Space(5);
                            GUILayout.FlexibleSpace();

                            var pregnancyCount = pregData.IsPregnant ? pregData.PregnancyCount - 1 : pregData.PregnancyCount;
                            if (pregnancyCount > 0)
                            {
                                GUILayout.FlexibleSpace();
                                GUILayout.Label($"This character was pregnant {pregnancyCount} times.");
                            }

                            if (pregData.WeeksSinceLastPregnancy > 0)
                            {
                                GUILayout.FlexibleSpace();
                                GUILayout.Label($"Last pregnancy was {pregData.WeeksSinceLastPregnancy} weeks ago.");
                            }
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }

                        GUILayout.FlexibleSpace();
                    }
                    GUILayout.EndVertical();
                }
                GUILayout.EndArea();
            }
示例#20
0
            private void OnGUI()
            {
                if (_currentHeroine.Count == 0)
                {
                    return;
                }

                var pos         = new Vector2(Input.mousePosition.x, -(Input.mousePosition.y - Screen.height));
                var heroineRect = _currentHeroine.FirstOrDefault(x =>
                {
                    if (x.Value == null)
                    {
                        return(false);
                    }
                    return(GetOccupiedScreenRect(x).Contains(pos));
                });
                var chara = heroineRect.Key;

                if (chara == null)
                {
                    return;
                }

                var pregData = chara.GetPregnancyData();

                var status  = chara.GetCharaStatus(pregData);
                var heroine = chara as SaveData.Heroine;

                var windowHeight = status == HeroineStatus.Unknown ? 100 : status == HeroineStatus.Pregnant || status == HeroineStatus.OnLeave ? 180 : 370;
                var screenRect   = new Rect((int)pos.x + 30, (int)pos.y - windowHeight / 2, 180, windowHeight);

                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.BeginArea(screenRect, GUI.skin.box);
                {
                    GUILayout.BeginVertical();
                    {
                        GUILayout.FlexibleSpace();

                        switch (status)
                        {
                        case HeroineStatus.Unknown:
                            GUILayout.Label("This character didn't tell you their risky day schedule yet.");
                            GUILayout.FlexibleSpace();
                            GUILayout.Label("Become closer to learn it!");
                            break;

                        case HeroineStatus.OnLeave:
                            GUILayout.Label("This character is on a maternal leave and will not appear until it is over.");
                            GUILayout.FlexibleSpace();
                            GUILayout.Label("Consider using a rubber next time!");
                            break;

                        case HeroineStatus.Pregnant:
                            GUILayout.Label($"This character is pregnant (on week {pregData.Week} / 40).");
                            GUILayout.FlexibleSpace();
                            if (pregData.GameplayEnabled)
                            {
                                GUILayout.Label(heroine != null ? "The character's body will slowly change, and at the end they will temporarily leave." : "The character's body will slowly change.");
                            }

                            GUILayout.FlexibleSpace();
                            var previousPregcount = Mathf.Max(0, pregData.PregnancyCount - 1);
                            GUILayout.Label($"This character was pregnant {previousPregcount} times before.");
                            break;

                        case HeroineStatus.Safe:
                        case HeroineStatus.Risky:
                            if (heroine == null)
                            {
                                break;
                            }

                            GUILayout.Label(status == HeroineStatus.Safe
                                    ? "This character is on a safe day, have fun!"
                                    : "This character is on a risky day, be careful!");
                            //GUILayout.Space(5);
                            GUILayout.FlexibleSpace();

                            var day = Singleton <Cycle> .Instance.nowWeek;

                            GUILayout.Label("Forecast for this week:");

                            switch (pregData.MenstruationSchedule)
                            {
                            case MenstruationSchedule.AlwaysSafe:
                                GUILayout.Label("It's always safe!");
                                break;

                            case MenstruationSchedule.AlwaysRisky:
                                GUILayout.Label("It's always risky!");
                                break;

                            default:
                                GUILayout.Label($"Today ({day}): {status}");

                                for (var dayOffset = 1; dayOffset < 7; dayOffset++)
                                {
                                    var adjustedDay  = (Cycle.Week)((int)(day + dayOffset) % Enum.GetValues(typeof(Cycle.Week)).Length);
                                    var adjustedSafe = HFlag.GetMenstruation((byte)((heroine.MenstruationDay + dayOffset) % HFlag.menstruations.Length)) == HFlag.MenstruationType.安全日;
                                    GUILayout.Label($"{adjustedDay}: {(adjustedSafe ? "Safe" : "Risky")}");
                                }
                                break;
                            }

                            var pregnancyCount = pregData.IsPregnant ? pregData.PregnancyCount - 1 : pregData.PregnancyCount;
                            if (pregnancyCount > 0)
                            {
                                GUILayout.FlexibleSpace();
                                GUILayout.Label($"This character was pregnant {pregnancyCount} times.");
                            }

                            if (pregData.WeeksSinceLastPregnancy > 0)
                            {
                                GUILayout.FlexibleSpace();
                                GUILayout.Label($"Last pregnancy was {pregData.WeeksSinceLastPregnancy} weeks ago.");
                            }
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }

                        GUILayout.FlexibleSpace();
                    }
                    GUILayout.EndVertical();
                }
                GUILayout.EndArea();
            }
            private void OnGUI()
            {
                if (_currentHeroine.Count == 0)
                {
                    return;
                }

                var pos     = new Vector2(Input.mousePosition.x, -(Input.mousePosition.y - Screen.height));
                var heroine = _currentHeroine.FirstOrDefault(x => x.Value.Contains(pos)).Key;

                if (heroine == null)
                {
                    return;
                }

                var status = GetHeroineStatus(heroine);

                var windowHeight = status == HeroineStatus.Unknown || status == HeroineStatus.Pregnant ? 110 : 270;
                var screenRect   = new Rect(pos.x + 30, pos.y - windowHeight / 2, 180, windowHeight);

                IMGUIUtils.DrawSolidBox(screenRect);
                GUILayout.BeginArea(screenRect, GUI.skin.box);
                {
                    GUILayout.BeginVertical();
                    {
                        GUILayout.FlexibleSpace();

                        switch (status)
                        {
                        case HeroineStatus.Unknown:
                            GUILayout.Label("This character didn't tell you their risky day schedule yet.\n\nBecome closer to learn it!");
                            break;

                        case HeroineStatus.Pregnant:
                            GUILayout.Label("This character is pregnant.\n\nOver time the character's belly will grow, and at the end they will leave school temporarily.");
                            break;

                        case HeroineStatus.Safe:
                        case HeroineStatus.Risky:
                            GUILayout.Label(status == HeroineStatus.Safe
                                    ? "This character is on a safe day, have fun!"
                                    : "This character is on a risky day, be careful!");
                            GUILayout.Space(5);

                            var day = Singleton <Cycle> .Instance.nowWeek;

                            GUILayout.Label("Forecast for this week:");
                            GUILayout.Label($"Today ({day}): {status}");

                            for (var dayOffset = 1; dayOffset < 7; dayOffset++)
                            {
                                var adjustedDay =
                                    (Cycle.Week)((int)(day + dayOffset) % Enum.GetValues(typeof(Cycle.Week)).Length);
                                var adjustedSafe =
                                    HFlag.GetMenstruation(
                                        (byte)((heroine.MenstruationDay + dayOffset) % HFlag.menstruations.Length)) ==
                                    HFlag.MenstruationType.安全日;
                                GUILayout.Label($"{adjustedDay}: {(adjustedSafe ? "Safe" : "Risky")}");
                            }
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }

                        GUILayout.FlexibleSpace();
                    }
                    GUILayout.EndVertical();
                }
                GUILayout.EndArea();
            }