internal void Start() { if (LoadManager.GetCurrentScene() == OWScene.SolarSystem) { _shipWindshield = GameObject.Find("ShipLODTrigger_Cockpit").transform; } _signalscope = Camera.main.transform.Find("Signalscope").GetComponent <Signalscope>(); var holdSignalscope = _signalscope.gameObject.AddComponent <Holdable>(); holdSignalscope.transform.localPosition = new Vector3(0.013f, 0.1f, 0.123f); holdSignalscope.transform.localRotation = Quaternion.Euler(32.8f, 0, 0); var signalScopeModel = _signalscope.transform.GetChild(0); // Tools have a special shader that draws them on top of everything // and screws with perspective. Changing to Standard shader so they look // like a normal 3D object. signalScopeModel.GetComponent <MeshRenderer>().material.shader = Shader.Find("Standard"); signalScopeModel.localPosition = Vector3.up * -0.1f; signalScopeModel.localRotation = Quaternion.identity; // This child seems to be only for some kind of shader effect. // Disabling it since it looks glitchy and doesn't seem necessary. signalScopeModel.GetChild(0).gameObject.SetActive(false); var signalScopeHolster = Instantiate(signalScopeModel).gameObject; signalScopeHolster.SetActive(true); var holster = signalScopeHolster.AddComponent <HolsterTool>(); holster.hand = HandsController.Behaviour.RightHand; holster.position = new Vector3(0.3f, 0, 0); holster.mode = ToolMode.SignalScope; holster.scale = 0.8f; holster.angle = Vector3.right * 90; holster.onUnequip = OnUnequip; var playerHUD = GameObject.Find("PlayerHUD").transform; _reticule = playerHUD.Find("HelmetOffUI/SignalscopeReticule"); // Attatch Signalscope UI to the Signalscope. _reticule.GetComponent <Canvas>().renderMode = RenderMode.WorldSpace; _reticule.parent = _signalscope.transform; _reticule.localScale = Vector3.one * 0.0005f; _reticule.localPosition = Vector3.forward * 0.5f; _reticule.localRotation = Quaternion.identity; var helmetOff = playerHUD.Find("HelmetOffUI/SignalscopeCanvas"); SetupSignalscopeUI(helmetOff, new Vector3(-0.05f, 0.45f, 0)); var helmetOn = playerHUD.Find("HelmetOnUI/UICanvas/SigScopeDisplay"); SetupSignalscopeUI(helmetOn, new Vector3(-0.05f, -0.2f, 0)); LayerHelper.ChangeLayerRecursive(helmetOn.gameObject, "UI"); SetupScopeLens(); }
public void UpdateStateObjects() { if (OWInput.GetInputMode() == InputMode.None) { return; } FlashLight?.UpdateState(FlagsHelper.IsSet(State, State.Flashlight)); Translator?.ChangeEquipState(FlagsHelper.IsSet(State, State.Translator)); ProbeLauncher?.ChangeEquipState(FlagsHelper.IsSet(State, State.ProbeLauncher)); Signalscope?.ChangeEquipState(FlagsHelper.IsSet(State, State.Signalscope)); PlayerRegistry.GetSyncObject <AnimationSync>(NetId)?.SetSuitState(FlagsHelper.IsSet(State, State.Suit)); }
public void UpdateStateObjects() { if (OWInput.GetInputMode() == InputMode.None) { return; } FlashLight?.UpdateState(FlagsHelper.IsSet(State, State.Flashlight)); Translator?.ChangeEquipState(FlagsHelper.IsSet(State, State.Translator)); ProbeLauncher?.ChangeEquipState(FlagsHelper.IsSet(State, State.ProbeLauncher)); Signalscope?.ChangeEquipState(FlagsHelper.IsSet(State, State.Signalscope)); QSBCore.UnityEvents.RunWhen(() => QSBPlayerManager.GetSyncObject <AnimationSync>(PlayerId) != null, () => QSBPlayerManager.GetSyncObject <AnimationSync>(PlayerId).SetSuitState(FlagsHelper.IsSet(State, State.Suit))); }
public void UpdateObjectsFromStates() { if (OWInput.GetInputMode() == InputMode.None) { // ? why is this here lmao return; } if (CameraBody == null) { return; } FlashLight?.UpdateState(FlashlightActive); Translator?.ChangeEquipState(TranslatorEquipped); ProbeLauncher?.ChangeEquipState(ProbeLauncherEquipped); Signalscope?.ChangeEquipState(SignalscopeEquipped); AnimationSync.SetSuitState(SuitedUp); }
private void HandleEquip(Signalscope var) => SendEvent(CreateMessage(true));