예제 #1
0
 public void HideMenu()
 {
     if (this.m_CurrentScreen)
     {
         this.m_CurrentScreen.Hide();
         if (this.m_CurrentScreen.ShouldPauseGame())
         {
             MainLevel.Instance.Pause(false);
         }
     }
     foreach (Type key in this.m_Screens.Keys)
     {
         this.m_Screens[key].m_ActiveMenuOption = null;
     }
     this.m_CurrentScreen = null;
     this.m_PreviousScreens.Clear();
     Player.Get().UnblockMoves();
     Player.Get().UnblockRotation();
     CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     if (this.m_CursorVisible)
     {
         CursorManager.Get().ShowCursor(false, false);
         this.m_CursorVisible = false;
     }
     this.m_OutlineCamera.enabled = true;
     PostProcessManager.Get().SetWeight(PostProcessManager.Effect.InGameMenu, 0f);
     InputsManager.Get().m_OmitMouseUp = true;
 }
예제 #2
0
 public void Deactivate()
 {
     if (this.m_CarriedItem && !this.m_CarriedItem.m_CurrentSlot)
     {
         this.OnLMouseUp();
     }
     this.BlockPlayerRotation(false);
     if (!Player.Get().m_BodyInspectionController.IsActive())
     {
         Player.Get().StopController(PlayerControllerType.Inventory);
     }
     this.m_Camera.enabled = false;
     this.m_Canvas.gameObject.SetActive(false);
     CursorManager.Get().ShowCursor(false);
     CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     HUDManager.Get().SetActiveGroup(HUDManager.HUDGroup.Game);
     if (CraftingManager.Get().gameObject.activeSelf)
     {
         CraftingManager.Get().Deactivate();
     }
     if (HUDItem.Get().m_Active)
     {
         HUDItem.Get().Deactivate();
     }
     this.ResetNewCraftedItem();
     this.m_SelectedSlot        = null;
     this.m_SelectedGroup       = null;
     this.m_MouseOverCraftTable = false;
     this.m_MouseOverBackpack   = false;
     InventoryBackpack.Get().OnCloseBackpack();
     base.gameObject.SetActive(false);
     this.m_DeactivationTime = Time.time;
     this.m_ActivityChanged  = true;
 }
예제 #3
0
 private void UpdateCursor()
 {
     if (HUDItem.Get().enabled)
     {
         return;
     }
     if (HUDNewWheel.Get().IsSelected())
     {
         return;
     }
     if (HUDBackpack.Get().m_IsHovered)
     {
         return;
     }
     if (this.m_CarriedItem)
     {
         if (CursorManager.Get().GetCursor() != CursorManager.TYPE.Hand_1)
         {
             CursorManager.Get().SetCursor(CursorManager.TYPE.Hand_1);
         }
     }
     else if (this.m_FocusedItem)
     {
         if (CursorManager.Get().GetCursor() != CursorManager.TYPE.Hand_0)
         {
             CursorManager.Get().SetCursor(CursorManager.TYPE.Hand_0);
         }
     }
     else if (CursorManager.Get().GetCursor() != CursorManager.TYPE.Normal)
     {
         CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     }
 }
예제 #4
0
 protected override void Update()
 {
     base.Update();
     if (this.m_BG.color.a < 1f)
     {
         Color color = this.m_BG.color;
         color.a        += Time.deltaTime;
         color.a         = Mathf.Clamp01(color.a);
         this.m_BG.color = color;
     }
     else if (this.m_CanvasGroup.alpha < 1f)
     {
         this.m_CanvasGroup.alpha += Time.deltaTime;
         this.m_CanvasGroup.alpha  = Mathf.Clamp01(this.m_CanvasGroup.alpha);
         if (this.m_CanvasGroup.alpha == 1f)
         {
             CursorManager.Get().ShowCursor(true);
         }
         Color color2 = this.m_QuitButton.image.color;
         color2.a = this.m_CanvasGroup.alpha;
         this.m_QuitButton.image.color = color2;
         color2   = this.m_QuitText.color;
         color2.a = this.m_CanvasGroup.alpha;
         this.m_QuitText.color = color2;
     }
 }
예제 #5
0
 public void Hide()
 {
     this.m_Animator.SetInteger(this.m_NotepadHash, 0);
     MenuNotepad.Get().OnNotepadHide();
     HUDNotepad.Get().Deactivate();
     CursorManager.Get().ShowCursor(false);
 }
예제 #6
0
 public void Deactivate()
 {
     if (!this.m_Active)
     {
         return;
     }
     this.m_Active = false;
     this.ClearDatas();
     Player.Get().UnblockMoves();
     Player.Get().UnblockRotation();
     if (this.m_CursorVisible)
     {
         CursorManager.Get().ShowCursor(false, false);
         CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
         this.m_CursorVisible = false;
     }
     if (this.m_MarkedData != null)
     {
         if (!this.m_MarkedData.m_IsGroup && GreenHellGame.IsPCControllerActive())
         {
             this.OnSelectDialog(this.m_MarkedData);
         }
         this.m_MarkedData = null;
     }
     if (!DialogsManager.Get().IsAnyDialogPlaying())
     {
         WalkieTalkieController.Get().OnStopDialog(null);
     }
 }
예제 #7
0
 public override void OnPointerExit(PointerEventData eventData)
 {
     this.selection.gameObject.SetActive(false);
     this.text.gameObject.SetActive(false);
     CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     this.m_Selected = false;
 }
예제 #8
0
 protected override void Update()
 {
     base.Update();
     this.UpdateButtons();
     this.UpdateSlots();
     CursorManager.Get().SetCursor((!(this.m_ActiveButton != null) && this.m_HLSlotIdx < 0) ? CursorManager.TYPE.Normal : CursorManager.TYPE.MouseOver);
 }
예제 #9
0
        private void SetCursorVisibility(bool isVisible)
        {
            CursorManager.Get().ShowCursor(isVisible, false);

            Player player = Player.Get();

            if (player)
            {
                if (isVisible)
                {
                    player.BlockRotation();
                    player.BlockInspection();
                }
                else
                {
                    if (rmbHeld)
                    {
                        rmbHeld = false;
                    }
                    else
                    {
                        player.UnblockRotation();
                    }

                    player.UnblockInspection();
                }
            }
        }
예제 #10
0
 public virtual void UpdateMenuOptions()
 {
     if (this.m_OptionsObjects.Count > 0)
     {
         if (GreenHellGame.IsPCControllerActive())
         {
             this.m_ActiveMenuOption = null;
             foreach (MenuBase.MenuOptionData data in this.m_OptionsObjects.Values)
             {
                 this.UpdateActiveMenuOption(data);
             }
         }
         foreach (MenuBase.MenuOptionData data2 in this.m_OptionsObjects.Values)
         {
             this.UpdateMenuOptionAnimation(data2);
         }
         if (!GreenHellGame.IsYesNoDialogActive())
         {
             CursorManager cursorManager = CursorManager.Get();
             if (cursorManager == null)
             {
                 return;
             }
             cursorManager.SetCursor((this.m_ActiveMenuOption != null && this.m_ActiveMenuOptionCanInteract && !GreenHellGame.GetFadeSystem().IsFadeVisible()) ? CursorManager.TYPE.MouseOver : CursorManager.TYPE.Normal);
         }
     }
 }
예제 #11
0
        // Show/hide the mod's menu
        private void SetUIVisible(bool isVisible)
        {
            uiVisible = isVisible;

            CursorManager.Get().ShowCursor(isVisible, false);
            Player player = Player.Get();

            if (isVisible)
            {
                player.BlockRotation();
                player.BlockInspection();
            }
            else
            {
                isPickingEntity = false;

                if (rmbHeld)
                {
                    rmbHeld = false;
                }
                else
                {
                    player.UnblockRotation();
                }

                player.UnblockInspection();
            }
        }
예제 #12
0
 public override void OnAnimEvent(AnimEventID id)
 {
     if (id == AnimEventID.ShowMap)
     {
         this.m_Map.gameObject.SetActive(true);
         return;
     }
     if (id == AnimEventID.ShowMapEnd)
     {
         this.m_CanDisable = true;
         if (!this.m_CursorVisible && GreenHellGame.IsPCControllerActive())
         {
             CursorManager.Get().ShowCursor(true, false);
             this.m_CursorVisible = true;
         }
         HUDMap.Get().Activate();
         return;
     }
     if (id == AnimEventID.HideMapEnd)
     {
         this.Stop();
         return;
     }
     base.OnAnimEvent(id);
 }
예제 #13
0
 protected override void OnHide()
 {
     base.OnHide();
     CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     CursorManager.Get().ShowCursor(false);
     this.m_YesNoQuestion = HUDDeath.YesNoQuestion.None;
 }
예제 #14
0
 public void OnYesFromDialog()
 {
     HUDDeath.YesNoQuestion yesNoQuestion = this.m_YesNoQuestion;
     if (yesNoQuestion != HUDDeath.YesNoQuestion.Quit)
     {
         if (yesNoQuestion != HUDDeath.YesNoQuestion.LoadGame)
         {
             if (yesNoQuestion == HUDDeath.YesNoQuestion.LoadLastSave)
             {
                 DeathController.Get().StartRespawn();
                 CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
             }
         }
         else
         {
             MenuInGameManager.Get().ShowScreen(typeof(MenuLoad));
         }
     }
     else
     {
         LoadingScreen.Get().Show(LoadingScreenState.ReturnToMainMenu);
         GreenHellGame.Instance.ReturnToMainMenu();
     }
     this.m_YesNoQuestion = HUDDeath.YesNoQuestion.None;
 }
예제 #15
0
    public void OnChangeControllerOption()
    {
        GreenHellGame.Instance.m_Settings.SaveSettings();
        GreenHellGame.Instance.m_Settings.ApplySettings(false);
        MainMenuManager mainMenuManager = MainMenuManager.Get();

        if (mainMenuManager != null)
        {
            mainMenuManager.SetupController();
        }
        MenuInGameManager menuInGameManager = MenuInGameManager.Get();

        if (menuInGameManager != null)
        {
            menuInGameManager.SetupController();
        }
        HUDManager hudmanager = HUDManager.Get();

        if (hudmanager != null)
        {
            hudmanager.SetuController();
        }
        if (MainMenuManager.Get())
        {
            if (GreenHellGame.IsPadControllerActive())
            {
                CursorManager.Get().ShowCursor(false, false);
                return;
            }
            if (GreenHellGame.IsPCControllerActive())
            {
                CursorManager.Get().ShowCursor(true, false);
            }
        }
    }
예제 #16
0
 protected override void OnShow()
 {
     base.OnShow();
     this.SetupDialogs();
     this.SetupScroll();
     Player.Get().BlockMoves();
     Player.Get().BlockRotation();
     if (GreenHellGame.IsPCControllerActive())
     {
         CursorManager.Get().ShowCursor(CursorManager.TYPE.Normal);
         this.m_CursorVisible = true;
     }
     HUDItem.Get().Deactivate();
     this.m_InGroup    = false;
     this.m_MarkedData = null;
     Player.Get().m_ShouldStartWalkieTalkieController = true;
     if (Player.Get().GetCurrentItem(Hand.Left) == null)
     {
         Player.Get().StartController(PlayerControllerType.WalkieTalkie);
     }
     this.m_TempSanityTexts.Clear();
     this.m_TempSanityTexts.AddRange(this.m_SanityTexts);
     this.m_BackButtonObject.SetActive(false);
     this.SetupScroll();
     this.m_PadSelectionIndex = -1;
 }
예제 #17
0
 public override void OnPointerEnter(PointerEventData eventData)
 {
     this.selection.gameObject.SetActive(true);
     this.text.gameObject.SetActive(true);
     CursorManager.Get().SetCursor(CursorManager.TYPE.MouseOver);
     this.m_Selected = true;
 }
예제 #18
0
    private void OnPreStartGame()
    {
        FadeSystem fadeSystem = GreenHellGame.GetFadeSystem();

        fadeSystem.FadeOut(FadeType.All, new VDelegate(this.OnStartGame), 2f, null);
        CursorManager.Get().ShowCursor(false);
    }
예제 #19
0
    private void UpdateButtons()
    {
        Color color  = this.m_BackButton.GetComponentInChildren <Text>().color;
        Color color2 = this.m_BackButton.GetComponentInChildren <Text>().color;

        color.a  = MainMenuScreen.s_ButtonsAlpha;
        color2.a = MainMenuScreen.s_InactiveButtonsAlpha;
        this.m_KeyBindingText.GetComponentInChildren <Text>().color     = color;
        this.m_BackButton.GetComponentInChildren <Text>().color         = color;
        this.m_InvertMouseYButton.GetComponentInChildren <Text>().color = color;
        this.m_XSensitivityButton.GetComponentInChildren <Text>().color = color;
        this.m_YSensitivityButton.GetComponentInChildren <Text>().color = color;
        Vector2 screenPoint = Input.mousePosition;

        this.m_ActiveButton = null;
        RectTransform component = this.m_BackButton.GetComponent <RectTransform>();

        if (RectTransformUtility.RectangleContainsScreenPoint(component, screenPoint))
        {
            this.m_ActiveButton = this.m_BackButton.gameObject;
        }
        component = this.m_KeyBindingsButton.GetComponent <RectTransform>();
        if (RectTransformUtility.RectangleContainsScreenPoint(component, screenPoint))
        {
            this.m_ActiveButton = this.m_KeyBindingsButton.gameObject;
        }
        component = this.m_BackText.GetComponent <RectTransform>();
        Vector3 localPosition = component.localPosition;
        float   num           = (!(this.m_ActiveButton == this.m_BackButton.gameObject)) ? this.m_ButtonTextStartX : this.m_SelectedButtonX;
        float   num2          = Mathf.Ceil(num - localPosition.x) * Time.unscaledDeltaTime * 10f;

        localPosition.x        += num2;
        component.localPosition = localPosition;
        if (this.m_ActiveButton == this.m_BackButton.gameObject)
        {
            color   = this.m_BackText.color;
            color.a = 1f;
            this.m_BackText.color = color;
        }
        component               = this.m_KeyBindingText.GetComponent <RectTransform>();
        localPosition           = component.localPosition;
        num                     = ((!(this.m_ActiveButton == this.m_KeyBindingsButton.gameObject)) ? this.m_ButtonTextStartX : this.m_SelectedButtonX);
        num2                    = Mathf.Ceil(num - localPosition.x) * Time.unscaledDeltaTime * 10f;
        localPosition.x        += num2;
        component.localPosition = localPosition;
        if (this.m_ActiveButton == this.m_KeyBindingsButton.gameObject)
        {
            color   = this.m_BackText.color;
            color.a = 1f;
            this.m_KeyBindingText.color = color;
        }
        this.UpdateButton(this.m_InvertMouseYButton);
        this.UpdateButton(this.m_XSensitivityButton);
        this.UpdateButton(this.m_YSensitivityButton);
        CursorManager.Get().SetCursor((!(this.m_ActiveButton != null)) ? CursorManager.TYPE.Normal : CursorManager.TYPE.MouseOver);
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            this.OnBack();
        }
    }
예제 #20
0
 protected override void Update()
 {
     base.Update();
     this.m_SelectedNode = -1;
     if (this.m_NodesVisible)
     {
         for (int i = 0; i < this.m_UINodeDatas.Count; i++)
         {
             UISelectDialogNodeData uiselectDialogNodeData = this.m_UINodeDatas[i];
             if (RectTransformUtility.RectangleContainsScreenPoint(uiselectDialogNodeData.m_BG.rectTransform, Input.mousePosition))
             {
                 this.m_SelectedNode = i;
                 break;
             }
         }
         for (int j = 0; j < this.m_UINodeDatas.Count; j++)
         {
             this.m_UINodeDatas[j].m_BG.enabled = (j == this.m_SelectedNode);
         }
         if (!InputsManager.Get().IsActionActive(InputsManager.InputAction.ShowSelectDialogNode))
         {
             this.OnSelect(this.m_SelectedNode);
         }
     }
     CursorManager.Get().SetCursor((this.m_SelectedNode < 0) ? CursorManager.TYPE.Normal : CursorManager.TYPE.MouseOver);
     if (this.m_TimerBelt && this.m_TimerBelt.gameObject.activeSelf)
     {
         float   b          = Time.time - this.m_ShowTime;
         Vector3 localScale = this.m_TimerBelt.rectTransform.localScale;
         localScale.x = CJTools.Math.GetProportionalClamp(1f, 0f, b, 0f, this.m_Duration);
         this.m_TimerBelt.rectTransform.localScale = localScale;
     }
     if (this.m_Reply.gameObject.activeSelf)
     {
         if (this.m_ReplyCanvasGroup.alpha < 1f)
         {
             this.m_ReplyCanvasGroup.alpha += Time.deltaTime * 3f;
         }
         this.m_ReplyCanvasGroup.alpha = Mathf.Min(this.m_ReplyCanvasGroup.alpha, 1f);
         float num = Mathf.Sin(Time.time);
         if (num > 0f)
         {
             if (!this.m_WasSound)
             {
                 Player.Get().m_AudioModule.PlayDialogSound(1f, false);
                 this.m_WasSound = true;
             }
             Quaternion identity = Quaternion.identity;
             identity.z = Mathf.Sin(Time.time * 100f) * num * 0.1f;
             this.m_Icon.rectTransform.localRotation = identity;
         }
         else
         {
             this.m_Icon.rectTransform.localRotation = Quaternion.identity;
             this.m_WasSound = false;
         }
     }
 }
예제 #21
0
 protected override void OnHide()
 {
     base.OnHide();
     Player.Get().UnblockRotation();
     if (this.m_CursorVisible)
     {
         CursorManager.Get().ShowCursor(false, false);
     }
 }
예제 #22
0
 protected override void Update()
 {
     base.Update();
     this.UpdateSelection();
     if (!CursorManager.Get().IsCursorVisible())
     {
         CursorManager.Get().ShowCursor(true);
     }
 }
예제 #23
0
 private void ShowCursor(bool show)
 {
     if (show == this.m_CursorVisible)
     {
         return;
     }
     CursorManager.Get().ShowCursor(show, false);
     this.m_CursorVisible = show;
 }
예제 #24
0
 public void Hide()
 {
     this.m_Animator.SetBool(this.m_MapHash, false);
     HUDMap.Get().Deactivate();
     if (this.m_CursorVisible)
     {
         CursorManager.Get().ShowCursor(false, false);
         this.m_CursorVisible = false;
     }
 }
예제 #25
0
 protected override void OnHide()
 {
     base.OnHide();
     Player.Get().UnblockRotation();
     Player.Get().UnblockMoves();
     CursorManager.Get().ShowCursor(false);
     CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
     CursorManager.Get().UpdateCursorVisibility();
     this.HideElements();
 }
예제 #26
0
    public void OnYesFromDialog()
    {
        FadeSystem fadeSystem = GreenHellGame.GetFadeSystem();

        fadeSystem.FadeOut(FadeType.All, new VDelegate(this.OnLoadGame), 1f, null);
        this.m_MenuInGameManager.HideMenu();
        CursorManager.Get().ShowCursor(false);
        this.m_Loading            = true;
        this.m_WaitingForDecision = false;
    }
예제 #27
0
 protected override void OnHide()
 {
     base.OnHide();
     if (this.m_CursorVisible)
     {
         CursorManager.Get().SetCursor(CursorManager.TYPE.Normal);
         CursorManager.Get().ShowCursor(false, false);
         this.m_CursorVisible = false;
     }
 }
예제 #28
0
    protected override void OnShow()
    {
        base.OnShow();
        if (!this.m_HUDTriggerAttach)
        {
            this.m_HUDTriggerAttach = HUDTrigger.GetNormal().transform.Find("Group/Action_0/KeyFrame0");
        }
        Player.Get().BlockRotation();
        Player.Get().BlockMoves();
        this.m_PadHideCursorPos = Vector2.zero;
        if (GreenHellGame.IsPCControllerActive())
        {
            CursorManager.Get().ShowCursor(CursorManager.TYPE.Normal);
            this.m_CursorVisible = true;
        }
        else if (Inventory3DManager.Get().IsActive() && CursorManager.Get().IsCursorVisible())
        {
            this.m_PadHideCursorPos = Input.mousePosition;
            CursorManager.Get().ShowCursor(false, false);
            this.m_CursorVisible = false;
        }
        Vector3 zero = Vector3.zero;

        if (!Inventory3DManager.Get().gameObject.activeSelf)
        {
            zero.x = (float)Screen.width * this.m_CursorOffset.x;
            zero.y = (float)Screen.height * this.m_CursorOffset.y;
            CursorManager.Get().SetCursorPos(this.m_HUDTriggerAttach.position + zero);
        }
        zero.x = (float)Screen.width * this.m_Offset.x;
        zero.y = (float)Screen.height * this.m_Offset.y;
        base.transform.position = this.m_HUDTriggerAttach.position + zero;
        this.ShowElements();
        float a  = float.MaxValue;
        float a2 = float.MaxValue;
        float a3 = float.MinValue;
        float a4 = float.MinValue;

        foreach (HUDItemButton huditemButton in this.m_ActiveButtons)
        {
            Vector3[] array = new Vector3[4];
            huditemButton.trans.GetWorldCorners(array);
            Vector2[] array2 = new Vector2[4];
            for (int i = 0; i < 4; i++)
            {
                array2[i] = RectTransformUtility.WorldToScreenPoint(base.transform.GetComponentInParent <Canvas>().worldCamera, array[i]);
                a         = Mathf.Min(a, array2[i].x);
                a3        = Mathf.Max(a3, array2[i].x);
                a2        = Mathf.Min(a2, array2[i].y);
                a4        = Mathf.Max(a4, array2[i].y);
            }
        }
    }
예제 #29
0
    private void Update()
    {
        int i = 0;

        while (i < this.m_SceneAsyncOperation.Count)
        {
            if (this.m_SceneAsyncOperation[i] == null || this.m_SceneAsyncOperation[i].isDone)
            {
                this.m_SceneAsyncOperation.RemoveAt(i);
            }
            else
            {
                i++;
            }
        }
        this.ApplyGraphicsSettings();
        this.UpdateSlowMotion();
        this.UpdateTimeScale();
        this.UpdateCurentTimeInMinutes();
        this.UpdateInputsDebug();
        EventsManager.OnEvent(Enums.Event.PlayTime, Time.deltaTime);
        this.UpdateAnimalsSound();
        this.UpdateLoading();
        if (GreenHellGame.ROADSHOW_DEMO && Input.GetKeyDown(KeyCode.Escape))
        {
            this.m_DebugPause = !this.m_DebugPause;
            CursorManager.Get().ShowCursor(this.m_DebugPause);
            this.Pause(this.m_DebugPause);
            if (this.m_DebugPause)
            {
                Player.Get().BlockMoves();
                Player.Get().BlockRotation();
            }
            else
            {
                Player.Get().UnblockMoves();
                Player.Get().UnblockRotation();
            }
        }
        this.UpdateFog();
        if (this.m_TODSky.Cycle.Hour != this.m_LastEmissionColorChangeHour)
        {
            this.UpdateEmissiveMaterials();
            this.m_LastEmissionColorChangeHour = this.m_TODSky.Cycle.Hour;
        }
        if (TwitchDemoManager.Get() != null)
        {
            TwitchDemoManager.Get().Update();
        }
        this.UpdateDebugCutscene();
        this.UpdateAA();
        ItemReplacer.UpdateByDistance();
    }
    private void HideCursor()
    {
        CursorManager.Get().ShowCursor(false, false);
        this.m_CursorVisible = false;
        MenuInGameManager menuInGameManager = MenuInGameManager.Get();

        if (menuInGameManager == null)
        {
            return;
        }
        menuInGameManager.SetCursorVisible(false);
    }