private void Awake() { _remote = GameObject.Find("RaiSimUnity").GetComponent <RsUnityRemote>(); _camera = GameObject.Find("Main Camera").GetComponent <CameraController>(); if (_remote == null) { // TODO exception } if (_camera == null) { // TODO exception } // modal view { var modal = GameObject.Find(_ErrorModalViewName).GetComponent <Canvas>(); var okButton = modal.GetComponentInChildren <Button>(); okButton.onClick.AddListener(() => { modal.enabled = false; }); } // visualize section { var toggleVisual = GameObject.Find(_ToggleVisualBodiesName).GetComponent <Toggle>(); toggleVisual.onValueChanged.AddListener((isSelected) => { _remote.ShowVisualBody = isSelected; _remote.ShowOrHideObjects(); }); var toggleCollision = GameObject.Find(_ToggleCollisionBodiesName).GetComponent <Toggle>(); toggleCollision.onValueChanged.AddListener((isSelected) => { _remote.ShowCollisionBody = isSelected; _remote.ShowOrHideObjects(); }); var sliderContactPoints = GameObject.Find(_SliderContactPointsName).GetComponent <Slider>(); sliderContactPoints.onValueChanged.AddListener((value) => { _remote.ContactPointMarkerScale = value; }); var toggleContactPoints = GameObject.Find(_ToggleContactPointsName).GetComponent <Toggle>(); toggleContactPoints.onValueChanged.AddListener((isSelected) => { _remote.ShowContactPoints = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderContactPoints.interactable = true; } else { sliderContactPoints.interactable = false; } }); var sliderContactForces = GameObject.Find(_SliderContactForcesName).GetComponent <Slider>(); sliderContactForces.onValueChanged.AddListener((value) => { _remote.ContactForceMarkerScale = value; }); var toggleContactForces = GameObject.Find(_ToggleContactForcesName).GetComponent <Toggle>(); toggleContactForces.onValueChanged.AddListener((isSelected) => { _remote.ShowContactForces = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderContactForces.interactable = true; } else { sliderContactForces.interactable = false; } }); var sliderBodyFrames = GameObject.Find(_SliderBodyFramesName).GetComponent <Slider>(); sliderBodyFrames.onValueChanged.AddListener((value) => { _remote.BodyFrameMarkerScale = value; }); var toggleBodyFrames = GameObject.Find(_ToggleBodyFramesName).GetComponent <Toggle>(); toggleBodyFrames.onValueChanged.AddListener((isSelected) => { _remote.ShowBodyFrames = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderBodyFrames.interactable = true; } else { sliderBodyFrames.interactable = false; } }); } // connection section { var ipInputField = GameObject.Find(_InputFieldTcpName).GetComponent <InputField>(); ipInputField.text = _remote.TcpAddress; var portInputField = GameObject.Find(_InputFieldPortName).GetComponent <InputField>(); portInputField.text = _remote.TcpPort.ToString(); var connectButton = GameObject.Find(_ButtonConnectName).GetComponent <Button>(); connectButton.onClick.AddListener(() => { _remote.TcpAddress = ipInputField.text; _remote.TcpPort = Int32.Parse(portInputField.text); // connect / disconnect if (!_remote.TcpConnected) { try { _remote.EstablishConnection(); } catch (Exception e) { var modal = GameObject.Find(_ErrorModalViewName).GetComponent <ErrorViewController>(); modal.Show(true); modal.SetMessage(e.Message); } } else { try { _remote.CloseConnection(); } catch (Exception) { } } }); } // recording section { var screenshotButton = GameObject.Find(_ButtonScreenshotName).GetComponent <Button>(); screenshotButton.onClick.AddListener(() => { _camera.TakeScreenShot(); }); var recordButton = GameObject.Find(_ButtonRecordName).GetComponent <Button>(); if (!_camera.videoAvailable) { recordButton.interactable = false; } else { recordButton.interactable = true; } recordButton.onClick.AddListener(() => { if (_camera.IsRecording) { _camera.FinishRecording(); } else { _camera.StartRecording(); } }); } // background section { _daySky = Resources.Load <Material>("backgrounds/Wispy Sky/Materials/WispySkyboxMat2"); _sunriseSky = Resources.Load <Material>("backgrounds/Wispy Sky/Materials/WispySkyboxMat"); _sunsetSky = Resources.Load <Material>("backgrounds/Skybox/Materials/Skybox_Sunset"); _nightSky = Resources.Load <Material>("backgrounds/FreeNightSky/Materials/nightsky1"); _milkywaySky = Resources.Load <Material>("backgrounds/MilkyWay/Material/MilkyWay"); var backgroundDropdown = GameObject.Find(_DropdownBackgroundName).GetComponent <Dropdown>(); backgroundDropdown.onValueChanged.AddListener(delegate { ChangeBackground(backgroundDropdown); DynamicGI.UpdateEnvironment(); }); } // resource section { _remote.ResourceLoader.LoadFromPref(); RefereshScrollResources(); var addButton = GameObject.Find(_ButtonAddResourceName).GetComponent <Button>(); addButton.onClick.AddListener(() => { SimpleFileBrowser.FileBrowser.ShowLoadDialog((path) => { _remote.ResourceLoader.AddResourceDirectory(path); RefereshScrollResources(); }, null, true); }); var removeButton = GameObject.Find(_ButtonDeleteResourceName).GetComponent <Button>(); removeButton.onClick.AddListener(() => { _remote.ResourceLoader.RemoveResourceDirectory(); RefereshScrollResources(); }); } }
private void Start() { _remote = GameObject.Find("RaiSimUnity").GetComponent <RsUnityRemote>(); _camera = GameObject.Find("Main Camera").GetComponent <CameraController>(); _error = GameObject.Find("_CanvasModalViewError").GetComponent <ErrorViewController>(); if (_remote == null) { // TODO exception } if (_camera == null) { // TODO exception } // modal view { var modal = GameObject.Find(_ErrorModalViewName).GetComponent <Canvas>(); var okButton = modal.GetComponentInChildren <Button>(); okButton.onClick.AddListener(() => { modal.enabled = false; }); } // visualize section { var toggleVisual = GameObject.Find(_ToggleVisualBodiesName).GetComponent <Toggle>(); toggleVisual.onValueChanged.AddListener((isSelected) => { _remote.ShowVisualBody = isSelected; _remote.ShowOrHideObjects(); }); var toggleCollision = GameObject.Find(_ToggleCollisionBodiesName).GetComponent <Toggle>(); toggleCollision.onValueChanged.AddListener((isSelected) => { _remote.ShowCollisionBody = isSelected; _remote.ShowOrHideObjects(); }); var sliderContactPoints = GameObject.Find(_SliderContactPointsName).GetComponent <Slider>(); sliderContactPoints.onValueChanged.AddListener((value) => { _remote.ContactPointMarkerScale = value; }); var toggleContactPoints = GameObject.Find(_ToggleContactPointsName).GetComponent <Toggle>(); toggleContactPoints.onValueChanged.AddListener((isSelected) => { _remote.ShowContactPoints = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderContactPoints.interactable = true; } else { sliderContactPoints.interactable = false; } }); var sliderContactForces = GameObject.Find(_SliderContactForcesName).GetComponent <Slider>(); sliderContactForces.onValueChanged.AddListener((value) => { _remote.ContactForceMarkerScale = value; }); var toggleContactForces = GameObject.Find(_ToggleContactForcesName).GetComponent <Toggle>(); toggleContactForces.onValueChanged.AddListener((isSelected) => { _remote.ShowContactForces = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderContactForces.interactable = true; } else { sliderContactForces.interactable = false; } }); var sliderBodyFrames = GameObject.Find(_SliderBodyFramesName).GetComponent <Slider>(); sliderBodyFrames.onValueChanged.AddListener((value) => { _remote.BodyFrameMarkerScale = value; }); var sliderLight = GameObject.Find("_LightSlider").GetComponent <Slider>(); sliderLight.onValueChanged.AddListener((value) => { GameObject.Find("Directional Light").transform.localRotation = Quaternion.Euler(50, value, 0); }); var toggleBodyFrames = GameObject.Find(_ToggleBodyFramesName).GetComponent <Toggle>(); toggleBodyFrames.onValueChanged.AddListener((isSelected) => { _remote.ShowBodyFrames = isSelected; _remote.ShowOrHideObjects(); if (isSelected) { sliderBodyFrames.interactable = true; } else { sliderBodyFrames.interactable = false; } }); } // connection section { var ipInputField = GameObject.Find(_InputFieldTcpName).GetComponent <InputField>(); ipInputField.text = _remote.TcpAddress; var portInputField = GameObject.Find(_InputFieldPortName).GetComponent <InputField>(); portInputField.text = _remote.TcpPort.ToString(); var connectButton = GameObject.Find(_ButtonConnectName).GetComponent <Button>(); connectButton.onClick.AddListener(() => { _remote.TcpAddress = ipInputField.text; _remote.TcpPort = Int32.Parse(portInputField.text); // connect / disconnect if (!_remote.TcpConnected && !isAutoConnecting) { try { _remote.EstablishConnection(); } catch (Exception e) { var modal = GameObject.Find(_ErrorModalViewName).GetComponent <ErrorViewController>(); modal.Show(true); modal.SetMessage(e.Message); } } else { try { _remote.CloseConnection(); } catch (Exception) { } } }); } // recording section { var screenshotButton = GameObject.Find(_ButtonScreenshotName).GetComponent <Button>(); screenshotButton.onClick.AddListener(() => { _camera.TakeScreenShot(); }); var recordButton = GameObject.Find(_ButtonRecordName).GetComponent <Button>(); if (!_camera.videoAvailable) { recordButton.interactable = false; } else { recordButton.interactable = true; } recordButton.onClick.AddListener(() => { if (_camera.IsRecording) { _camera.FinishRecording(); } else { _camera.StartRecording(); } }); } // resource section { _remote.ResourceLoader.LoadFromPref(); RefereshScrollResources(); var addButton = GameObject.Find(_ButtonAddResourceName).GetComponent <Button>(); addButton.onClick.AddListener(() => { SimpleFileBrowser.FileBrowser.ShowLoadDialog((path) => { _remote.ResourceLoader.AddResourceDirectory(path); RefereshScrollResources(); }, null, true); }); var removeButton = GameObject.Find(_ButtonDeleteResourceName).GetComponent <Button>(); removeButton.onClick.AddListener(() => { _remote.ResourceLoader.RemoveResourceDirectory(); RefereshScrollResources(); }); } if (GraphicsSettings.renderPipelineAsset is HDRenderPipelineAsset) { ConstructSkyHDRP(); } }