public static void ChangeFocusUI(RosBridgeConnector connector, RosRobots robots) { for (int k = 0; k < robots.Robots.Count; k++) { var robotConnector = robots.Robots[k]; bool isFocus = robotConnector == connector; robotConnector.UiObject.enabled = isFocus; var b = robotConnector.UiButton.GetComponent <Button>(); var c = b.colors; c.normalColor = isFocus ? new Color(1, 1, 1) : new Color(0.8f, 0.8f, 0.8f); b.colors = c; var robotSetup = robotConnector.Robot.GetComponent <RobotSetup>(); robotSetup.FollowCamera.gameObject.SetActive(isFocus); robotSetup.FollowCamera.enabled = isFocus; var inputControllers = robotConnector.Robot.GetComponentsInChildren <IInputController>().ToList(); if (isFocus) { FocusUI = robotSetup.UI; inputControllers.ForEach(i => i.Enable()); // TODO move to gameobject based SimulatorManager.Instance?.SetCurrentActiveRobot(robotSetup.gameObject); } else { inputControllers.ForEach(i => i.Disable()); } } VehicleList.Instances?.ForEach(x => x.ToggleDisplay(FocusUI.MainPanel.gameObject.activeSelf)); //hack }
public static void ChangeCameraFocus(RosBridgeConnector connector, RosRobots robots) { for (int k = 0; k < robots.Robots.Count; k++) { var isFocus = robots.Robots[k] == connector; robots.Robots[k].UiObject.enabled = isFocus; var b = robots.Robots[k].UiButton.GetComponent <Button>(); var c = b.colors; c.normalColor = isFocus ? new Color(1, 1, 1) : new Color(0.8f, 0.8f, 0.8f); b.colors = c; robots.Robots[k].Robot.GetComponent <RobotSetup>().FollowCamera.gameObject.SetActive(isFocus); } }
public static void ChangeFocusUI(RosBridgeConnector connector, RosRobots robots) { for (int k = 0; k < robots.Robots.Count; k++) { var robotConnector = robots.Robots[k]; bool isFocus = robotConnector == connector; robotConnector.UiObject.enabled = isFocus; var b = robotConnector.UiButton.GetComponent <Button>(); var c = b.colors; c.normalColor = isFocus ? new Color(1, 1, 1) : new Color(0.8f, 0.8f, 0.8f); b.colors = c; var robotSetup = robotConnector.Robot.GetComponent <RobotSetup>(); robotSetup.FollowCamera.gameObject.SetActive(isFocus); robotSetup.FollowCamera.enabled = isFocus; if (isFocus) { FocusUI = robotSetup.UI; } } VehicleList.Instances.ForEach(x => x.ToggleDisplay(FocusUI.MainPanel.gameObject.activeSelf)); //hack }
private void Awake() { Robots = GameObject.FindObjectOfType <RosRobots>(); }