コード例 #1
0
                private static void ShipStart(ShipBody __instance)
                {
                    var cockpitUI = __instance.transform.Find("Module_Cockpit/Systems_Cockpit/ShipCockpitUI");

                    _probe        = cockpitUI.Find("ProbeScreen/ProbeScreenPivot/ProbeScreen").gameObject.AddComponent <ButtonInteraction>();
                    _probe.button = JoystickButton.RightBumper;
                    _probe.text   = UITextType.ScoutModePrompt;

                    _signalscope        = cockpitUI.Find("SignalScreen/SignalScreenPivot/SignalScopeScreenFrame_geo").gameObject.AddComponent <ButtonInteraction>();
                    _signalscope.button = JoystickButton.DPadRight;
                    _signalscope.text   = UITextType.SignalscopePrompt;

                    var cockpitTech = __instance.transform.Find("Module_Cockpit/Geo_Cockpit/Cockpit_Tech/Cockpit_Tech_Interior");

                    _landingCam                   = cockpitTech.Find("LandingCamScreen").gameObject.AddComponent <ButtonInteraction>();
                    _landingCam.button            = JoystickButton.DPadDown;
                    _landingCam.skipPressCallback = () =>
                    {
                        if (_isLandingCamEnabled)
                        {
                            _cockpitController.Invoke("ExitLandingView");
                            return(true);
                        }
                        return(false);
                    };
                    _landingCam.text = UITextType.ShipLandingPrompt;

                    SetEnabled(false);
                }
コード例 #2
0
ファイル: ShipTools.cs プロジェクト: stephaje/NomaiVR
            static void ShipStart(ShipBody __instance)
            {
                var cockpitUI = __instance.transform.Find("Module_Cockpit/Systems_Cockpit/ShipCockpitUI");

                _probe        = cockpitUI.Find("ProbeScreen/ProbeScreenPivot/ProbeScreen").gameObject.AddComponent <ButtonInteraction>();
                _probe.button = XboxButton.RightBumper;
                _probe.text   = UITextType.ScoutModePrompt;

                _signalscope        = cockpitUI.Find("SignalScreen/SignalScreenPivot/SignalScopeScreenFrame_geo").gameObject.AddComponent <ButtonInteraction>();
                _signalscope.button = XboxButton.DPadRight;
                _signalscope.text   = UITextType.SignalscopePrompt;

                var cockpitTech = __instance.transform.Find("Module_Cockpit/Geo_Cockpit/Cockpit_Tech/Cockpit_Tech_Interior");

                _landingCam        = cockpitTech.Find("LandingCamScreen").gameObject.AddComponent <ButtonInteraction>();
                _landingCam.button = XboxButton.DPadDown;
                _landingCam.text   = UITextType.ShipLandingPrompt;

                SetEnabled(false);
            }
コード例 #3
0
                private static void ShipStart(ShipBody __instance)
                {
                    var cockpitUI = __instance.transform.Find("Module_Cockpit/Systems_Cockpit/ShipCockpitUI");

                    var probeScreenPivot = cockpitUI.Find("ProbeScreen/ProbeScreenPivot");

                    _probe      = probeScreenPivot.Find("ProbeScreen").gameObject.AddComponent <ShipMonitorInteraction>();
                    _probe.mode = ToolMode.Probe;
                    _probe.text = UITextType.ScoutModePrompt;

                    var font = Resources.Load <Font>(@"fonts/english - latin/SpaceMono-Regular");

                    var probeCamDisplay = probeScreenPivot.Find("ProbeCamDisplay");
                    var probeScreenText = new GameObject().AddComponent <Text>();

                    probeScreenText.gameObject.AddComponent <ConditionalRenderer>().getShouldRender = ShouldRenderScreenText;
                    probeScreenText.transform.SetParent(probeCamDisplay.transform, false);
                    probeScreenText.transform.localScale    = Vector3.one * 0.0035f;
                    probeScreenText.transform.localRotation = Quaternion.Euler(0, 0, 90);
                    probeScreenText.text      = "<color=grey>PROBE LAUNCHER</color>\n\ninteract with screen\nto activate";
                    probeScreenText.color     = new Color(1, 1, 1, 0.1f);
                    probeScreenText.alignment = TextAnchor.MiddleCenter;
                    probeScreenText.fontSize  = 8;
                    probeScreenText.font      = font;

                    var signalScreenPivot = cockpitUI.Find("SignalScreen/SignalScreenPivot");

                    _signalscope      = signalScreenPivot.Find("SignalScopeScreenFrame_geo").gameObject.AddComponent <ShipMonitorInteraction>();
                    _signalscope.mode = ToolMode.SignalScope;
                    _signalscope.text = UITextType.UISignalscope;

                    var sigScopeDisplay = signalScreenPivot.Find("SigScopeDisplay");
                    var scopeTextCanvas = new GameObject().AddComponent <Canvas>();

                    scopeTextCanvas.gameObject.AddComponent <ConditionalRenderer>().getShouldRender = ShouldRenderScreenText;
                    scopeTextCanvas.transform.SetParent(sigScopeDisplay.transform.parent, false);
                    scopeTextCanvas.transform.localPosition = sigScopeDisplay.transform.localPosition;
                    scopeTextCanvas.transform.localRotation = sigScopeDisplay.transform.localRotation;
                    scopeTextCanvas.transform.localScale    = sigScopeDisplay.transform.localScale;
                    var scopeScreenText = new GameObject().AddComponent <Text>();

                    scopeScreenText.transform.SetParent(scopeTextCanvas.transform, false);
                    scopeScreenText.transform.localScale = Vector3.one * 0.5f;
                    scopeScreenText.text      = "<color=grey>SIGNALSCOPE</color>\n\ninteract with screen to activate";
                    scopeScreenText.color     = new Color(1, 1, 1, 0.1f);
                    scopeScreenText.alignment = TextAnchor.MiddleCenter;
                    scopeScreenText.fontSize  = 8;
                    scopeScreenText.font      = font;

                    var cockpitTech = __instance.transform.Find("Module_Cockpit/Geo_Cockpit/Cockpit_Tech/Cockpit_Tech_Interior");

                    _landingCam                   = cockpitTech.Find("LandingCamScreen").gameObject.AddComponent <ShipMonitorInteraction>();
                    _landingCam.button            = JoystickButton.DPadDown;
                    _landingCam.skipPressCallback = () =>
                    {
                        if (_isLandingCamEnabled)
                        {
                            _cockpitController.Invoke("ExitLandingView");
                            return(true);
                        }
                        return(false);
                    };
                    _landingCam.text = UITextType.ShipLandingPrompt;

                    var landingTextCanvas = new GameObject().AddComponent <Canvas>();

                    landingTextCanvas.transform.SetParent(_landingCam.transform.parent, false);
                    landingTextCanvas.gameObject.AddComponent <ConditionalRenderer>().getShouldRender = () => ShouldRenderScreenText() && !_isLandingCamEnabled;
                    landingTextCanvas.transform.localPosition = new Vector3(-0.017f, 3.731f, 5.219f);
                    landingTextCanvas.transform.localRotation = Quaternion.Euler(53.28f, 0, 0);
                    landingTextCanvas.transform.localScale    = Vector3.one * 0.007f;
                    var landingText = new GameObject().AddComponent <Text>();

                    landingText.transform.SetParent(landingTextCanvas.transform, false);
                    landingText.transform.localScale = Vector3.one * 0.6f;
                    landingText.text      = "<color=grey>LANDING CAMERA</color>\n\ninteract with screen\nto activate";
                    landingText.color     = new Color(1, 1, 1, 0.1f);
                    landingText.alignment = TextAnchor.MiddleCenter;
                    landingText.fontSize  = 8;
                    landingText.font      = font;
                }