コード例 #1
0
        void Start()
        {
            _instance = this;

            NomaiVR.Log("Started FogFix");

            // Make dark bramble lights visible in the fog.
            var fogLightCanvas = GameObject.Find("FogLightCanvas").GetComponent <Canvas>();

            fogLightCanvas.renderMode    = RenderMode.ScreenSpaceCamera;
            fogLightCanvas.worldCamera   = Locator.GetActiveCamera().mainCamera;
            fogLightCanvas.planeDistance = 100;

            // Disable underwater effect.
            GameObject.FindObjectOfType <UnderwaterEffectBubbleController>().gameObject.SetActive(false);

            // Disable water entering and exiting effect.
            var visorEffects = FindObjectOfType <VisorEffectController>();

            visorEffects.SetValue("_waterClearLength", 0);
            visorEffects.SetValue("_waterFadeInLength", 0);

            _camera = Locator.GetPlayerCamera();

            if (LoadManager.GetPreviousScene() == OWScene.TitleScreen && LoadManager.GetCurrentScene() == OWScene.SolarSystem)
            {
                CloseEyes();
            }
        }
コード例 #2
0
        void Start()
        {
            NomaiVR.Log("Started ControllerInput");

            _instance   = this;
            _buttons    = new Dictionary <XboxButton, float>();
            _singleAxes = new Dictionary <string, float>();
            _doubleAxes = new Dictionary <DoubleAxis, Vector2>();

            SteamVR_Actions.default_Jump.onChange            += CreateButtonHandler(XboxButton.A);
            SteamVR_Actions.default_Back.onChange            += OnBackChange;
            SteamVR_Actions.default_PrimaryAction.onChange   += OnPrimaryActionChange;
            SteamVR_Actions.default_SecondaryAction.onChange += CreateButtonHandler(XboxButton.LeftBumper);
            SteamVR_Actions.default_Grip.onChange            += OnGripChange;

            SteamVR_Actions.default_Menu.onChange += CreateButtonHandler(XboxButton.Start);
            SteamVR_Actions.default_Map.onChange  += CreateButtonHandler(XboxButton.Select);

            SteamVR_Actions.default_ThrottleDown.onChange += CreateSingleAxisHandler(XboxAxis.leftTrigger);
            SteamVR_Actions.default_ThrottleUp.onChange   += CreateSingleAxisHandler(XboxAxis.rightTrigger);
            SteamVR_Actions.default_ThrottleUp.onChange   += CreateSingleAxisHandler(XboxAxis.rightTrigger);

            SteamVR_Actions.default_Move.onChange += CreateDoubleAxisHandler(XboxAxis.leftStick, XboxAxis.leftStickX, XboxAxis.leftStickY);
            SteamVR_Actions.default_Look.onChange += CreateDoubleAxisHandler(XboxAxis.rightStick, XboxAxis.rightStickX, XboxAxis.rightStickY);

            GlobalMessenger.AddListener("WakeUp", OnWakeUp);
        }
コード例 #3
0
ファイル: ShipTools.cs プロジェクト: stephaje/NomaiVR
        void Awake()
        {
            NomaiVR.Log("Start Ship Tools");

            _referenceFrameTracker = FindObjectOfType <ReferenceFrameTracker>();
            _cockpitController     = FindObjectOfType <ShipCockpitController>();
            _mapGridRenderer       = FindObjectOfType <MapController>().GetValue <MeshRenderer>("_gridRenderer").transform;
        }
コード例 #4
0
 private static void UpdateActiveController()
 {
     if (OWInput.GetActivePadNumber() != 0)
     {
         NomaiVR.Log("Wrong gamepad selected. Resetting to 0");
         OWInput.SetActiveGamePad(0);
     }
 }
コード例 #5
0
ファイル: VRTutorial.cs プロジェクト: stephaje/NomaiVR
        void Start()
        {
            NomaiVR.Log("Start VRTutorial");
            SetTutorialState(TutorialState.LOOK);

            SteamVR_Actions.default_Look.onChange          += OnLookChange;
            SteamVR_Actions.default_Move.onChange          += OnMoveChange;
            SteamVR_Actions.default_PrimaryAction.onChange += OnPrimaryChange;
        }
コード例 #6
0
        private void SetupPatch()
        {
            if (typeof(Patch) == typeof(NomaiVRModule.EmptyPatch))
            {
                return;
            }

            NomaiVR.Log("Applying NomaiVR patches for", GetType().Name);
            var patch = new Patch();

            patch.ApplyPatches();
        }
コード例 #7
0
ファイル: Dialogue.cs プロジェクト: stephaje/NomaiVR
        void Start()
        {
            NomaiVR.Log("Started Dialogue Fixes");

            _canvasTransform = GameObject.Find("DialogueCanvas").transform;

            _canvasTransform.localScale *= _dialogeRenderSize;
            _canvasTransform.parent      = Locator.GetPlayerTransform();

            var canvas = _canvasTransform.gameObject.GetComponent <Canvas>();

            canvas.renderMode = RenderMode.WorldSpace;
        }
コード例 #8
0
        void Start()
        {
            NomaiVR.Log("Start PlayerBodyPosition");

            // This component is messing with our ability to read the VR camera's rotation.
            // Seems to be responsible for controlling the camera rotation with the mouse / joystick.
            PlayerCameraController playerCameraController = Camera.main.GetComponent <PlayerCameraController>();

            if (playerCameraController)
            {
                playerCameraController.enabled = false;
            }

            SetupCamera();
        }
コード例 #9
0
        private void SetupBehaviour()
        {
            if (typeof(Behaviour) == typeof(NomaiVRModule.EmptyBehaviour))
            {
                return;
            }

            NomaiVR.Log("Creating NomaiVR behaviour for", GetType().Name);
            var gameObject = new GameObject();

            gameObject.AddComponent <Behaviour>();

            if (IsPersistent)
            {
                gameObject.AddComponent <PersistObject>();
            }
        }
コード例 #10
0
        void Start()
        {
            NomaiVR.Log("Start Menus");

            // Make UI elements draw on top of everything.
            Canvas.GetDefaultCanvasMaterial().SetInt("unity_GUIZTestMode", (int)CompareFunction.Always);

            var scene = LoadManager.GetCurrentScene();

            if (scene == OWScene.SolarSystem)
            {
                // Make sleep timer canvas visible while eyes closed.
                Locator.GetUIStyleManager().transform.Find("SleepTimerCanvas").gameObject.layer = LayerMask.NameToLayer("VisibleToPlayer");
            }
            else if (scene == OWScene.TitleScreen)
            {
                var animatedTitle = GameObject.Find("TitleCanvasHack").GetComponent <Canvas>();
                animatedTitle.renderMode = RenderMode.ScreenSpaceOverlay;
            }
            ScreenCanvasesToWorld();

            if (SceneManager.GetActiveScene().name == "SolarSystem")
            {
                GlobalMessenger.AddListener("WakeUp", OnWakeUp);

                var animatedTitleChild = animatedTitle.transform.GetChild(0).GetComponent <RectTransform>();
                animatedTitleChild.anchorMax = Vector2.one * 0.5f;
                animatedTitleChild.anchorMin = Vector2.one * 0.5f;

                var mainMenu = GameObject.Find("TitleLayoutGroup").GetComponent <RectTransform>();
                mainMenu.position = Vector3.zero;

                // Cant't get the footer to look good, so I'm hiding it.
                GameObject.Find("FooterBlock").SetActive(false);

                // Make the camera start looking forward instead of some random direction.
                var cameraSocket = GameObject.Find("CameraSocket").transform;
                cameraSocket.rotation = Quaternion.identity;
            }

            ScreenCanvasesToWorld();
        }
コード例 #11
0
        internal void Update()
        {
            var position = transform.localPosition;

            if (!_angleMode)
            {
                if (Input.GetKeyDown(KeyCode.Keypad7))
                {
                    position.x += positionDelta;
                }
                if (Input.GetKeyDown(KeyCode.Keypad4))
                {
                    position.x -= positionDelta;
                }
                if (Input.GetKeyDown(KeyCode.Keypad8))
                {
                    position.y += positionDelta;
                }
                if (Input.GetKeyDown(KeyCode.Keypad5))
                {
                    position.y -= positionDelta;
                }
                if (Input.GetKeyDown(KeyCode.Keypad9))
                {
                    position.z += positionDelta;
                }
                if (Input.GetKeyDown(KeyCode.Keypad6))
                {
                    position.z -= positionDelta;
                }
            }

            var rotation = transform.localRotation;

            if (_angleMode)
            {
                if (Input.GetKeyDown(KeyCode.Keypad7))
                {
                    rotation *= Quaternion.Euler(angleDelta, 0, 0);
                }
                if (Input.GetKeyDown(KeyCode.Keypad4))
                {
                    rotation *= Quaternion.Euler(-angleDelta, 0, 0);
                }
                if (Input.GetKeyDown(KeyCode.Keypad8))
                {
                    rotation *= Quaternion.Euler(0, angleDelta, 0);
                }
                if (Input.GetKeyDown(KeyCode.Keypad5))
                {
                    rotation *= Quaternion.Euler(0, -angleDelta, 0);
                }
                if (Input.GetKeyDown(KeyCode.Keypad9))
                {
                    rotation *= Quaternion.Euler(0, 0, angleDelta);
                }
                if (Input.GetKeyDown(KeyCode.Keypad6))
                {
                    rotation *= Quaternion.Euler(0, 0, -angleDelta);
                }
            }

            var scale = transform.localScale;

            if (Input.GetKeyDown(KeyCode.Keypad1))
            {
                scale += scaleDelta;
            }
            if (Input.GetKeyDown(KeyCode.Keypad2))
            {
                scale -= scaleDelta;
            }

            if (Input.GetKeyDown(KeyCode.Keypad0))
            {
                _angleMode = !_angleMode;
            }

            if (Input.anyKeyDown)
            {
                transform.localPosition = position;
                transform.localRotation = rotation;
                transform.localScale    = scale;
                var angles = transform.localEulerAngles;

                NomaiVR.Log("Position: new Vector3(" + Round(position.x) + "f, " + Round(position.y) + "f, " + Round(position.z) + "f)");
                NomaiVR.Log("Rotation: Quaternion.Euler(" + Round(angles.x) + "f, " + Round(angles.y) + "f, " + Round(angles.z) + "f)");
                NomaiVR.Log("Scale: " + scale);
            }
        }