Ejemplo n.º 1
0
            private void AddFollowTarget(Canvas canvas)
            {
                _canvasObjectsToHide.Add(canvas.gameObject);
                var followTarget = canvas.gameObject.AddComponent <FollowTarget>();

                if (SceneHelper.IsInGame())
                {
                    followTarget.target        = Locator.GetPlayerTransform();
                    followTarget.localPosition = new Vector3(0, 0.75f, 1.5f);
                }
                else if (SceneHelper.IsInTitle())
                {
                    followTarget.target        = Camera.main.transform.parent;
                    followTarget.localPosition = new Vector3(-0.2f, 1.3f, 2f);
                }
                else
                {
                    followTarget.target             = Camera.main.transform;
                    followTarget.localPosition      = new Vector3(0, 0, 2f);
                    followTarget.positionSmoothTime = 0.5f;
                    followTarget.rotationSmoothTime = 0.5f;
                }

                canvas.gameObject.AddComponent <DestroyObserver>().OnDestroyed += () =>
                {
                    _canvasObjectsToHide.Remove(canvas.gameObject);
                };
            }
Ejemplo n.º 2
0
 internal void Update()
 {
     if (SceneHelper.IsInGame() && _wrapper && Camera.main)
     {
         _wrapper.localPosition = Camera.main.transform.localPosition - InputTracking.GetLocalPosition(XRNode.CenterEye);
     }
 }
Ejemplo n.º 3
0
            private void OnPrimaryActionChange(SteamVR_Action_Boolean fromAction, SteamVR_Input_Sources fromSource, bool newState)
            {
                var value = newState ? 1 : 0;

                if (!SceneHelper.IsInGame())
                {
                    _buttons[JoystickButton.FaceLeft] = value;
                    return;
                }

                var toolSwapper           = ToolHelper.Swapper;
                var isInShip              = toolSwapper.GetToolGroup() == ToolGroup.Ship;
                var isUsingSignalscope    = toolSwapper.IsInToolMode(ToolMode.SignalScope);
                var isUsingProbeLauncher  = toolSwapper.IsInToolMode(ToolMode.Probe);
                var isUsingFixedProbeTool = OWInput.IsInputMode(InputMode.StationaryProbeLauncher) || OWInput.IsInputMode(InputMode.SatelliteCam);

                if (!isUsingFixedProbeTool && !ToolHelper.IsUsingAnyTool())
                {
                    var isRepairPromptVisible = _repairPrompt != null && !_repairPrompt.IsVisible();
                    var canRepairSuit         = _playerResources.IsSuitPunctured() && OWInput.IsInputMode(InputMode.Character) && !ToolHelper.Swapper.IsSuitPatchingBlocked();

                    if (isRepairPromptVisible && !isInShip && !canRepairSuit)
                    {
                        if (newState)
                        {
                            _primaryLastTime = fromAction.changedTime;
                        }
                        else
                        {
                            _primaryLastTime = -1;
                            if (!_justHeld)
                            {
                                SimulateInput(JoystickButton.FaceLeft);
                            }
                            _justHeld = false;
                        }
                    }
                    else
                    {
                        _buttons[JoystickButton.FaceLeft] = value;
                    }
                }
                else if (!isInShip || isUsingProbeLauncher || isUsingFixedProbeTool)
                {
                    _buttons[JoystickButton.RightBumper] = value;
                }
                else if (isUsingSignalscope)
                {
                    _axes[XboxAxis.dPadX.GetInputAxisName(0)] = value;
                }

                if (isInShip)
                {
                    if (!newState)
                    {
                        _buttons[JoystickButton.FaceLeft] = value;
                    }
                }
            }
Ejemplo n.º 4
0
            internal void Start()
            {
                if (SceneHelper.IsInTitle())
                {
                    SetUpWrapperTittle();
                }

                if (SceneHelper.IsInGame())
                {
                    SetUpWrapperInGame();
                    HideBody();
                }

                SetUpHands();
            }
Ejemplo n.º 5
0
            internal void Start()
            {
                if (SceneHelper.IsInGame())
                {
                    SetUpFlashbackCameraParent();
                }

                if (SceneHelper.IsInSolarSystem())
                {
                    FixSleepTimerCanvas();
                }

                if (SceneHelper.IsInTitle())
                {
                    FixTitleMenuCanvases();
                    FixStarLogos();
                }

                ScreenCanvasesToWorld();
            }
Ejemplo n.º 6
0
            internal void Start()
            {
                SetUpLaserObject();
                SetUpLeftHandLaser();
                SetUpLineRenderer();
                UpdateLineAppearance();
                CreateButtonColliders();

                if (SceneHelper.IsInGame())
                {
                    SetUpFirstPersonManipulator();
                    SetUpDialogueOptions();
                    _pauseMenuManager = FindObjectOfType <PauseMenuManager>();
                }

                if (SceneHelper.IsInTitle())
                {
                    SetUpTitleAnimationHandler();
                }
            }
Ejemplo n.º 7
0
            private static void AddFollowTarget(Canvas canvas)
            {
                var followTarget = canvas.gameObject.AddComponent <FollowTarget>();

                if (SceneHelper.IsInGame())
                {
                    followTarget.target        = Locator.GetPlayerTransform();
                    followTarget.localPosition = new Vector3(0, 0.75f, 1.5f);
                }
                else if (SceneHelper.IsInTitle())
                {
                    followTarget.target        = Camera.main.transform.parent;
                    followTarget.localPosition = new Vector3(0, 1f, 2f);
                }
                else
                {
                    followTarget.target             = Camera.main.transform;
                    followTarget.localPosition      = new Vector3(0, 0, 2f);
                    followTarget.positionSmoothTime = 0.5f;
                    followTarget.rotationSmoothTime = 0.5f;
                }
            }
Ejemplo n.º 8
0
            private void OnInteractChange(SteamVR_Action_Boolean fromAction, SteamVR_Input_Sources fromSource, bool newState)
            {
                var value = newState ? 1 : 0;

                if (!SceneHelper.IsInGame())
                {
                    _buttons[JoystickButton.FaceLeft] = value;
                    return;
                }

                var button = IsGripping ? JoystickButton.RightBumper : JoystickButton.FaceLeft;

                var isRepairPromptVisible = _repairPrompt != null && _repairPrompt.IsVisible();
                var canRepairSuit         = _playerResources.IsSuitPunctured() && OWInput.IsInputMode(InputMode.Character) && !ToolHelper.Swapper.IsSuitPatchingBlocked();
                var isUsingTranslator     = ToolHelper.Swapper.IsInToolMode(ToolMode.Translator);

                if (!isRepairPromptVisible && !canRepairSuit && !isUsingTranslator)
                {
                    if (newState)
                    {
                        _primaryLastTime = fromAction.changedTime;
                    }
                    else
                    {
                        _primaryLastTime = -1;
                        if (!_justHeld)
                        {
                            SimulateInput(button);
                        }
                        _justHeld = false;
                    }
                }
                else
                {
                    _buttons[button] = value;
                }
            }
Ejemplo n.º 9
0
 private bool IsMenuInteractionAllowed()
 {
     return(OWTime.IsPaused() || !SceneHelper.IsInGame() || PlayerState.IsSleepingAtCampfire());
 }
Ejemplo n.º 10
0
 private bool ShouldRenderHands()
 {
     return(!SceneHelper.IsInGame() || !PlayerHelper.IsWearingSuit());
 }
Ejemplo n.º 11
0
 private bool ShouldRenderGloves()
 {
     return(SceneHelper.IsInGame() && PlayerHelper.IsWearingSuit());
 }