// Use this for initialization void Start() { canvas = GameObject.Find("Canvas"); toolkitWindow = AuxFunctions.FindObject(canvas, "ToolkitPanel"); sensorManagerGUI = GameObject.Find("StateMachine").GetComponent <SensorManagerGUI>(); //Ruler Objects rulerStartPoint = GameObject.Find("RulerStartPoint"); rulerEndPoint = GameObject.Find("RulerEndPoint"); rulerWindow = AuxFunctions.FindObject(canvas, "RulerPanel"); rulerText = AuxFunctions.FindObject(canvas, "RulerText").GetComponent <Text>(); rulerXText = AuxFunctions.FindObject(canvas, "RulerXAxisText").GetComponent <Text>(); rulerYText = AuxFunctions.FindObject(canvas, "RulerYAxisText").GetComponent <Text>(); rulerZText = AuxFunctions.FindObject(canvas, "RulerZAxisText").GetComponent <Text>(); //Stopwatch Objects stopwatchWindow = AuxFunctions.FindObject(canvas, "StopwatchPanel"); stopwatchText = AuxFunctions.FindObject(canvas, "StopwatchText").GetComponent <Text>(); stopwatchStartButtonText = AuxFunctions.FindObject(canvas, "StopwatchStartText").GetComponent <Text>(); stopwatchPauseButtonText = AuxFunctions.FindObject(canvas, "StopwatchPauseText").GetComponent <Text>(); //Stats Objects statsWindow = AuxFunctions.FindObject(canvas, "StatsPanel"); speedEntry = AuxFunctions.FindObject(statsWindow, "SpeedEntry"); speedUnit = AuxFunctions.FindObject(speedEntry, "Unit").GetComponent <Text>(); accelerationEntry = AuxFunctions.FindObject(statsWindow, "AccelerationEntry"); accelerationUnit = AuxFunctions.FindObject(accelerationEntry, "Unit").GetComponent <Text>(); angularVelocityEntry = AuxFunctions.FindObject(statsWindow, "AngularVelocityEntry"); weightEntry = AuxFunctions.FindObject(statsWindow, "WeightEntry"); weightUnit = AuxFunctions.FindObject(weightEntry, "Unit").GetComponent <Text>(); }
public override void Start() { robotCameraGUI = StateMachine.SceneGlobal.GetComponent <RobotCameraGUI>(); sensorManagerGUI = StateMachine.SceneGlobal.GetComponent <SensorManagerGUI>(); canvas = GameObject.Find("Canvas"); tabs = Auxiliary.FindObject(canvas, "Tabs"); sensorToolbar = Auxiliary.FindObject(canvas, "SensorToolbar"); helpMenu = Auxiliary.FindObject(canvas, "Help"); overlay = Auxiliary.FindObject(canvas, "Overlay"); helpBodyText = Auxiliary.FindObject(canvas, "BodyText").GetComponent <Text>(); ultrasonicDropdown = Auxiliary.FindObject(sensorToolbar, "UltrasonicDropdown").GetComponent <Dropdown>(); beamBreakerDropdown = Auxiliary.FindObject(sensorToolbar, "BeamBreakDropdown").GetComponent <Dropdown>(); gyroDropdown = Auxiliary.FindObject(sensorToolbar, "GyroDropdown").GetComponent <Dropdown>(); //initialize dropdowns UpdateSensorDropdown(ultrasonicDropdown, sensorManagerGUI.sensorManager.ultrasonicList); UpdateSensorDropdown(beamBreakerDropdown, sensorManagerGUI.sensorManager.beamBreakerList); UpdateSensorDropdown(gyroDropdown, sensorManagerGUI.sensorManager.gyroList); numUltrasonics = sensorManagerGUI.sensorManager.ultrasonicList.Count(); numBeamBreakers = sensorManagerGUI.sensorManager.beamBreakerList.Count(); numGyros = sensorManagerGUI.sensorManager.gyroList.Count(); UpdateOutputButton(); Button helpButton = Auxiliary.FindObject(helpMenu, "CloseHelpButton").GetComponent <Button>(); helpButton.onClick.RemoveAllListeners(); helpButton.onClick.AddListener(CloseHelpMenu); }
public override void Start() { canvas = GameObject.Find("Canvas"); camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); tabs = Auxiliary.FindObject(canvas, "Tabs"); toolbar = Auxiliary.FindObject(canvas, "MainToolbar"); changeRobotPanel = Auxiliary.FindObject(canvas, "ChangeRobotPanel"); robotListPanel = Auxiliary.FindObject(changeRobotPanel, "RobotListPanel"); changePanel = Auxiliary.FindObject(canvas, "ChangePanel"); addPanel = Auxiliary.FindObject(canvas, "AddPanel"); changeFieldPanel = Auxiliary.FindObject(canvas, "ChangeFieldPanel"); pointImpulsePanel = Auxiliary.FindObject(canvas, "PointImpulsePanel"); resetDropdown = GameObject.Find("ResetRobotDropdown"); multiplayerPanel = Auxiliary.FindObject(canvas, "MultiplayerPanel"); stopwatchWindow = Auxiliary.FindObject(canvas, "StopwatchPanel"); statsWindow = Auxiliary.FindObject(canvas, "StatsPanel"); rulerWindow = Auxiliary.FindObject(canvas, "RulerPanel"); // To access instatiate classes within a state, use the StateMachine.SceneGlobal toolkit = StateMachine.SceneGlobal.GetComponent <Toolkit>(); multiplayer = StateMachine.SceneGlobal.GetComponent <LocalMultiplayer>(); simUI = StateMachine.SceneGlobal.GetComponent <SimUI>(); menuUI = StateMachine.SceneGlobal.GetComponent <MenuUI>(); robotCameraGUI = StateMachine.SceneGlobal.GetComponent <RobotCameraGUI>(); sensorManagerGUI = StateMachine.SceneGlobal.GetComponent <SensorManagerGUI>(); State = StateMachine.SceneGlobal.CurrentState as MainState; cameraViewDropdown = Auxiliary.FindObject(canvas, "CameraDropdown").GetComponent <Dropdown>(); dynamicCamera = UnityEngine.Camera.main.transform.GetComponent <DynamicCamera>(); }
/// <summary> /// Find all robot camera related GUI elements in the canvas /// </summary> private void FindGUIElements() { canvas = GameObject.Find("Canvas"); sensorManagerGUI = GetComponent <SensorManagerGUI>(); //For robot camera view window robotCameraView = Resources.Load("Images/Old Assets/RobotCameraView") as RenderTexture; robotCameraViewWindow = Auxiliary.FindObject(canvas, "RobotCameraPanelBorder"); //For robot camera manager robotCameraListObject = GameObject.Find("RobotCameraList"); robotCameraManager = robotCameraListObject.GetComponent <RobotCameraManager>(); //For camera indicator if (CameraIndicator == null) { CameraIndicator = Auxiliary.FindObject(robotCameraListObject, "CameraIndicator"); } //For camera position and attachment configuration configureCameraPanel = Auxiliary.FindObject(canvas, "CameraConfigurationPanel"); configureRobotCameraButton = Auxiliary.FindObject(canvas, "CameraConfigurationButton"); //For camera angle configuration cameraAnglePanel = Auxiliary.FindObject(canvas, "CameraAnglePanel"); xAngleEntry = Auxiliary.FindObject(cameraAnglePanel, "xAngleEntry1"); yAngleEntry = Auxiliary.FindObject(cameraAnglePanel, "yAngleEntry1"); zAngleEntry = Auxiliary.FindObject(cameraAnglePanel, "zAngleEntry1"); //For field of view configuration cameraFOVPanel = Auxiliary.FindObject(configureCameraPanel, "CameraFOVPanel"); FOVEntry = Auxiliary.FindObject(cameraFOVPanel, "FOVEntry"); }
/// <summary> /// Called after Awake() when the script instance is enabled. /// Initializes variables then loads the field and robot as well as setting up replay features. /// </summary> public override void Start() { //getting bullet physics information physicsWorld = BPhysicsWorld.Get(); ((DynamicsWorld)physicsWorld.world).SetInternalTickCallback(BRobotManager.Instance.UpdateRaycastRobots); lastFrameCount = physicsWorld.frameCount; //setting up replay Trackers = new List <Tracker>(); CollisionTracker = new CollisionTracker(this); //starts a new instance of unity packet which receives packets from the driver station unityPacket = new UnityPacket(); unityPacket.Start(); //loads all the controls Controls.Load(); //If a replay has been selected, load the replay. Otherwise, load the field and robot. string selectedReplay = PlayerPrefs.GetString("simSelectedReplay"); SpawnedRobots = new List <Robot>(); if (string.IsNullOrEmpty(selectedReplay)) { Tracking = true; Debug.Log(LoadField(PlayerPrefs.GetString("simSelectedField")) ? "Load field success!" : "Load field failed."); Debug.Log(LoadRobot(PlayerPrefs.GetString("simSelectedRobot")) ? "Load robot success!" : "Load robot failed."); int isMixAndMatch = PlayerPrefs.GetInt("MixAndMatch", 0); // 0 is false, 1 is true int hasManipulator = PlayerPrefs.GetInt("hasManipulator"); if (isMixAndMatch == 1 && hasManipulator == 1) { Debug.Log(LoadManipulator(PlayerPrefs.GetString("simSelectedManipulator")) ? "Load manipulator success" : "Load manipulator failed"); } } else { awaitingReplay = true; LoadReplay(selectedReplay); } //initializes the dynamic camera dynamicCameraObject = GameObject.Find("Main Camera"); dynamicCamera = dynamicCameraObject.AddComponent <DynamicCamera>(); DynamicCamera.MovingEnabled = true; sensorManager = GameObject.Find("SensorManager").GetComponent <SensorManager>(); sensorManagerGUI = GameObject.Find("StateMachine").GetComponent <SensorManagerGUI>(); robotCameraManager = GameObject.Find("RobotCameraList").GetComponent <RobotCameraManager>(); }
private void Update() { if (toolkit == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); toolkit = GetComponent <Toolkit>(); multiplayer = GetComponent <LocalMultiplayer>(); sensorManagerGUI = GetComponent <SensorManagerGUI>(); FindElements(); } else if (camera == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); } else { UpdateWindows(); if (UnityEngine.Input.GetKeyDown(KeyCode.Escape) && !InputControl.freeze) { if (!exitPanel.activeSelf) { if (GameObject.Find("Dropdown List")) { GameObject.Destroy(GameObject.Find("Dropdown List")); } MainMenuExit("open"); } else { MainMenuExit("cancel"); } } if (KeyButton.Binded() && inputPanelOn) { ShowBindedInfoPanel(); } } HighlightTabs(); if (State.isEmulationDownloaded) { emulationTab.SetActive(true); } }
/// <summary> /// Find all robot camera related GUI elements in the canvas /// </summary> public void FindGUIElements() { canvas = GameObject.Find("Canvas"); sensorManagerGUI = GameObject.Find("StateMachine").GetComponent <SensorManagerGUI>(); //For robot camera view window robotCameraView = Resources.Load("Images/RobotCameraView") as RenderTexture; robotCameraViewWindow = AuxFunctions.FindObject(canvas, "RobotCameraPanelBorder"); //For robot camera manager robotCameraListObject = GameObject.Find("RobotCameraList"); robotCameraManager = robotCameraListObject.GetComponent <RobotCameraManager>(); //For camera indicator if (CameraIndicator == null) { CameraIndicator = AuxFunctions.FindObject(robotCameraListObject, "CameraIndicator"); } showCameraButton = AuxFunctions.FindObject(canvas, "ShowCameraButton"); //For camera position and attachment configuration configureCameraPanel = AuxFunctions.FindObject(canvas, "CameraConfigurationPanel"); configureRobotCameraButton = AuxFunctions.FindObject(canvas, "CameraConfigurationButton"); changeCameraNodeButton = AuxFunctions.FindObject(configureCameraPanel, "ChangeNodeButton"); cameraConfigurationModeButton = AuxFunctions.FindObject(configureCameraPanel, "ConfigurationMode"); cameraNodeText = AuxFunctions.FindObject(configureCameraPanel, "NodeText").GetComponent <Text>(); cancelNodeSelectionButton = AuxFunctions.FindObject(configureCameraPanel, "CancelNodeSelectionButton"); //For camera angle configuration cameraAnglePanel = AuxFunctions.FindObject(canvas, "CameraAnglePanel"); xAngleEntry = AuxFunctions.FindObject(cameraAnglePanel, "xAngleEntry"); yAngleEntry = AuxFunctions.FindObject(cameraAnglePanel, "yAngleEntry"); zAngleEntry = AuxFunctions.FindObject(cameraAnglePanel, "zAngleEntry"); showAngleButton = AuxFunctions.FindObject(configureCameraPanel, "ShowCameraAngleButton"); editAngleButton = AuxFunctions.FindObject(cameraAnglePanel, "EditButton"); //For field of view configuration cameraFOVPanel = AuxFunctions.FindObject(canvas, "CameraFOVPanel"); FOVEntry = AuxFunctions.FindObject(cameraFOVPanel, "FOVEntry"); showFOVButton = AuxFunctions.FindObject(configureCameraPanel, "ShowCameraFOVButton"); editFOVButton = AuxFunctions.FindObject(cameraFOVPanel, "EditButton"); lockPositionButton = AuxFunctions.FindObject(configureCameraPanel, "LockPositionButton"); lockAngleButton = AuxFunctions.FindObject(configureCameraPanel, "LockAngleButton"); lockFOVButton = AuxFunctions.FindObject(configureCameraPanel, "LockFOVButton"); }
private void Update() { if (main == null) { main = StateMachine.Instance.FindState <MainState>(); } else if (dpm == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); toolkit = GetComponent <Toolkit>(); dpm = GetComponent <DriverPracticeMode>(); multiplayer = GetComponent <LocalMultiplayer>(); sensorManagerGUI = GetComponent <SensorManagerGUI>(); FindElements(); } else if (camera == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); } else { UpdateWindows(); if (Input.GetKeyDown(KeyCode.Escape)) { if (StateMachine.Instance.CurrentState.GetType().Equals(typeof(MainState))) { if (!exitPanel.activeSelf) { MainMenuExit("open"); } else { MainMenuExit("cancel"); } } } if (Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.H)) { TogglePanel(toolbar); } } }
private void Update() { if (InputControl.GetButtonDown(new KeyMapping("Hide Menu", KeyCode.H, Input.Enums.KeyModifier.Ctrl), true)) { tabs.SetActive(!tabs.activeSelf); tabStateMachine.CurrentState.ToggleHidden(); } if (toolkit == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); toolkit = GetComponent <Toolkit>(); multiplayer = GetComponent <LocalMultiplayer>(); sensorManagerGUI = GetComponent <SensorManagerGUI>(); FindElements(); } else if (camera == null) { camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); } else { UpdateWindows(); if (UnityEngine.Input.GetKeyDown(KeyCode.Escape)) { if (!exitPanel.activeSelf) { if (GameObject.Find("Dropdown List")) { GameObject.Destroy(GameObject.Find("Dropdown List")); } MainMenuExit("open"); } else { MainMenuExit("cancel"); } } } UpdateJoystickStates(); HighlightTabs(); }
public override void Start() { canvas = GameObject.Find("Canvas"); camera = GameObject.Find("Main Camera").GetComponent <DynamicCamera>(); tabs = Auxiliary.FindObject(canvas, "Tabs"); toolbar = Auxiliary.FindObject(canvas, "MainToolbar"); helpMenu = Auxiliary.FindObject(canvas, "Help"); overlay = Auxiliary.FindObject(canvas, "Overlay"); helpBodyText = Auxiliary.FindObject(canvas, "BodyText").GetComponent <Text>(); changeRobotPanel = Auxiliary.FindObject(canvas, "ChangeRobotPanel"); robotListPanel = Auxiliary.FindObject(changeRobotPanel, "RobotListPanel"); changePanel = Auxiliary.FindObject(canvas, "ChangePanel"); addPanel = Auxiliary.FindObject(canvas, "AddPanel"); changeFieldPanel = Auxiliary.FindObject(canvas, "ChangeFieldPanel"); resetDropdown = GameObject.Find("ResetRobotDropdown"); multiplayerPanel = Auxiliary.FindObject(canvas, "MultiplayerPanel"); stopwatchWindow = Auxiliary.FindObject(canvas, "StopwatchPanel"); statsWindow = Auxiliary.FindObject(canvas, "StatsPanel"); rulerWindow = Auxiliary.FindObject(canvas, "RulerPanel"); inputManagerPanel = Auxiliary.FindObject(canvas, "InputManagerPanel"); bindedKeyPanel = Auxiliary.FindObject(canvas, "BindedKeyPanel"); checkSavePanel = Auxiliary.FindObject(canvas, "CheckSavePanel"); // To access instatiate classes within a state, use the StateMachine.SceneGlobal toolkit = StateMachine.SceneGlobal.GetComponent <Toolkit>(); multiplayer = StateMachine.SceneGlobal.GetComponent <LocalMultiplayer>(); simUI = StateMachine.SceneGlobal.GetComponent <SimUI>(); robotCameraGUI = StateMachine.SceneGlobal.GetComponent <RobotCameraGUI>(); sensorManagerGUI = StateMachine.SceneGlobal.GetComponent <SensorManagerGUI>(); State = StateMachine.SceneGlobal.CurrentState as MainState; Button helpButton = Auxiliary.FindObject(helpMenu, "CloseHelpButton").GetComponent <Button>(); helpButton.onClick.RemoveAllListeners(); helpButton.onClick.AddListener(CloseHelpMenu); }
public override void Start() { robotCameraGUI = StateMachine.SceneGlobal.GetComponent <RobotCameraGUI>(); sensorManagerGUI = StateMachine.SceneGlobal.GetComponent <SensorManagerGUI>(); canvas = GameObject.Find("Canvas"); sensorToolbar = Auxiliary.FindObject(canvas, "SensorToolbar"); tabs = Auxiliary.FindObject(canvas, "Tabs"); ultrasonicDropdown = Auxiliary.FindObject(sensorToolbar, "UltrasonicDropdown").GetComponent <Dropdown>(); beamBreakerDropdown = Auxiliary.FindObject(sensorToolbar, "BeamBreakDropdown").GetComponent <Dropdown>(); gyroDropdown = Auxiliary.FindObject(sensorToolbar, "GyroDropdown").GetComponent <Dropdown>(); //initialize dropdowns UpdateSensorDropdown(ultrasonicDropdown, sensorManagerGUI.sensorManager.ultrasonicList); UpdateSensorDropdown(beamBreakerDropdown, sensorManagerGUI.sensorManager.beamBreakerList); UpdateSensorDropdown(gyroDropdown, sensorManagerGUI.sensorManager.gyroList); numUltrasonics = sensorManagerGUI.sensorManager.ultrasonicList.Count(); numBeamBreakers = sensorManagerGUI.sensorManager.beamBreakerList.Count(); numGyros = sensorManagerGUI.sensorManager.gyroList.Count(); UpdateOutputButton(); }
/// <summary> /// Called after Awake() when the script instance is enabled. /// Initializes variables then loads the field and robot as well as setting up replay features. /// </summary> public override void Start() { AppModel.ClearError(); //getting bullet physics information physicsWorld = BPhysicsWorld.Get(); ((DynamicsWorld)physicsWorld.world).SetInternalTickCallback(BPhysicsTickListener.Instance.PhysicsTick); lastFrameCount = physicsWorld.frameCount; //setting up raycast robot tick callback BPhysicsTickListener.Instance.OnTick -= BRobotManager.Instance.UpdateRaycastRobots; BPhysicsTickListener.Instance.OnTick += BRobotManager.Instance.UpdateRaycastRobots; //starts a new instance of unity packet which receives packets from the driver station unityPacket.Start(); //If a replay has been selected, load the replay. Otherwise, load the field and robot. string selectedReplay = PlayerPrefs.GetString("simSelectedReplay"); if (string.IsNullOrEmpty(selectedReplay)) { Tracking = true; if (!LoadField(PlayerPrefs.GetString("simSelectedField"))) { AppModel.ErrorToMenu("Could not load field: " + PlayerPrefs.GetString("simSelectedField") + "\nHas it been moved or deleted?)"); return; } if (!LoadRobot(PlayerPrefs.GetString("simSelectedRobot"), RobotTypeManager.IsMixAndMatch)) { AppModel.ErrorToMenu("Could not load robot: " + PlayerPrefs.GetString("simSelectedRobot") + "\nHas it been moved or deleted?)"); return; } reset = FieldDataHandler.robotSpawn == new Vector3(99999, 99999, 99999); if (RobotTypeManager.IsMixAndMatch && RobotTypeManager.HasManipulator) { Debug.Log(LoadManipulator(RobotTypeManager.ManipulatorPath) ? "Load manipulator success" : "Load manipulator failed"); } } else { awaitingReplay = true; LoadReplay(selectedReplay); } //initializes the dynamic camera DynamicCameraObject = GameObject.Find("Main Camera"); dynamicCamera = DynamicCameraObject.AddComponent <DynamicCamera>(); DynamicCamera.ControlEnabled = true; sensorManager = GameObject.Find("SensorManager").GetComponent <SensorManager>(); sensorManagerGUI = StateMachine.gameObject.GetComponent <SensorManagerGUI>(); simUI = StateMachine.SceneGlobal.GetComponent <SimUI>(); robotCameraManager = GameObject.Find("RobotCameraList").GetComponent <RobotCameraManager>(); IsMetric = PlayerPrefs.GetString("Measure").Equals("Metric") ? true : false; StateMachine.Link <MainState>(GameObject.Find("Main Camera").transform.GetChild(0).gameObject); StateMachine.Link <MainState>(GameObject.Find("Main Camera").transform.GetChild(1).gameObject, false); StateMachine.Link <ReplayState>(Auxiliary.FindGameObject("ReplayUI")); StateMachine.Link <SaveReplayState>(Auxiliary.FindGameObject("SaveReplayUI")); StateMachine.Link <GamepieceSpawnState>(Auxiliary.FindGameObject("ResetGamepieceSpawnpointUI")); StateMachine.Link <DefineNodeState>(Auxiliary.FindGameObject("DefineNodeUI")); StateMachine.Link <GoalState>(Auxiliary.FindGameObject("GoalStateUI")); StateMachine.Link <SensorSpawnState>(Auxiliary.FindGameObject("ResetSensorSpawnpointUI")); StateMachine.Link <DefineSensorAttachmentState>(Auxiliary.FindGameObject("DefineSensorAttachmentUI")); string defaultDirectory = (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"Autodesk\Synthesis\Emulator"); string directoryPath = ""; if (Directory.Exists(defaultDirectory)) { directoryPath = defaultDirectory; isEmulationDownloaded = true; } }
/// <summary> /// Called after Awake() when the script instance is enabled. /// Initializes variables then loads the field and robot as well as setting up replay features. /// </summary> public override void Start() { AppModel.ClearError(); //getting bullet physics information physicsWorld = BPhysicsWorld.Get(); ((DynamicsWorld)physicsWorld.world).SetInternalTickCallback(BPhysicsTickListener.Instance.PhysicsTick); lastFrameCount = physicsWorld.frameCount; //setting up raycast robot tick callback BPhysicsTickListener.Instance.OnTick -= BRobotManager.Instance.UpdateRaycastRobots; BPhysicsTickListener.Instance.OnTick += BRobotManager.Instance.UpdateRaycastRobots; //setting up replay CollisionTracker = new CollisionTracker(this); //starts a new instance of unity packet which receives packets from the driver station unityPacket = new UnityPacket(); unityPacket.Start(); //loads all the controls Controls.Load(); //If a replay has been selected, load the replay. Otherwise, load the field and robot. string selectedReplay = PlayerPrefs.GetString("simSelectedReplay"); SpawnedRobots = new List <Robot>(); if (string.IsNullOrEmpty(selectedReplay)) { Tracking = true; if (!LoadField(PlayerPrefs.GetString("simSelectedField"))) { AppModel.ErrorToMenu("Could not load field: " + PlayerPrefs.GetString("simSelectedField") + "\nHas it been moved or deleted?)"); return; } if (!LoadRobot(PlayerPrefs.GetString("simSelectedRobot"), RobotTypeManager.IsMixAndMatch)) { AppModel.ErrorToMenu("Could not load robot: " + PlayerPrefs.GetString("simSelectedRobot") + "\nHas it been moved or deleted?)"); return; } if (RobotTypeManager.IsMixAndMatch && RobotTypeManager.HasManipulator) { Debug.Log(LoadManipulator(RobotTypeManager.ManipulatorPath) ? "Load manipulator success" : "Load manipulator failed"); } } else { awaitingReplay = true; LoadReplay(selectedReplay); } //initializes the dynamic camera DynamicCameraObject = GameObject.Find("Main Camera"); dynamicCamera = DynamicCameraObject.AddComponent <DynamicCamera>(); DynamicCamera.MovingEnabled = true; sensorManager = GameObject.Find("SensorManager").GetComponent <SensorManager>(); sensorManagerGUI = GameObject.Find("StateMachine").GetComponent <SensorManagerGUI>(); robotCameraManager = GameObject.Find("RobotCameraList").GetComponent <RobotCameraManager>(); IsMetric = PlayerPrefs.GetString("Measure").Equals("Metric") ? true : false; StateMachine.Instance.Link <MainState>(GameObject.Find("Main Camera").transform.GetChild(0).gameObject); StateMachine.Instance.Link <ReplayState>(Resources.FindObjectsOfTypeAll <GameObject>().First(x => x.name.Equals("ReplayUI"))); StateMachine.Instance.Link <SaveReplayState>(Resources.FindObjectsOfTypeAll <GameObject>().First(x => x.name.Equals("SaveReplayUI"))); }
/// <summary> /// Called after Awake() when the script instance is enabled. /// Initializes variables then loads the field and robot as well as setting up replay features. /// </summary> public override void Start() { AppModel.ClearError(); //getting bullet physics information physicsWorld = BPhysicsWorld.Get(); ((DynamicsWorld)physicsWorld.world).SetInternalTickCallback(BPhysicsTickListener.Instance.PhysicsTick); lastFrameCount = physicsWorld.frameCount; //setting up raycast robot tick callback BPhysicsTickListener.Instance.OnTick -= BRobotManager.Instance.UpdateRaycastRobots; BPhysicsTickListener.Instance.OnTick += BRobotManager.Instance.UpdateRaycastRobots; //If a replay has been selected, load the replay. Otherwise, load the field and robot. string selectedReplay = PlayerPrefs.GetString("simSelectedReplay"); if (PlayerPrefs.GetString("simSelectedRobot", "").Equals("")) { AppModel.ErrorToMenu("ROBOT_SELECT|FIRST"); return; } if (string.IsNullOrEmpty(selectedReplay)) { Tracking = true; if (!LoadField(PlayerPrefs.GetString("simSelectedField"))) { //AppModel.ErrorToMenu("FIELD_SELECT|FIRST"); AppModel.ErrorToMenu("FIELD_SELECT|Could not load field: " + PlayerPrefs.GetString("simSelectedField") + "\nHas it been moved or deleted?)"); return; } else { MovePlane(); } bool result = false; try { result = LoadRobot(PlayerPrefs.GetString("simSelectedRobot"), false); } catch (Exception e) { MonoBehaviour.Destroy(GameObject.Find("Robot")); } if (!result) { AppModel.ErrorToMenu("ROBOT_SELECT|Could not find the selected robot"); return; } reset = FieldDataHandler.robotSpawn == new Vector3(99999, 99999, 99999); if (RobotTypeManager.IsMixAndMatch && RobotTypeManager.HasManipulator) { Debug.Log(LoadManipulator(RobotTypeManager.ManipulatorPath) ? "Load manipulator success" : "Load manipulator failed"); } } else { awaitingReplay = true; PlayerPrefs.SetString("simSelectedReplay", ""); LoadReplay(selectedReplay); } //initializes the dynamic camera DynamicCameraObject = GameObject.Find("Main Camera"); dynamicCamera = DynamicCameraObject.AddComponent <DynamicCamera>(); DynamicCamera.ControlEnabled = true; sensorManager = GameObject.Find("SensorManager").GetComponent <SensorManager>(); sensorManagerGUI = StateMachine.gameObject.GetComponent <SensorManagerGUI>(); simUI = StateMachine.SceneGlobal.GetComponent <SimUI>(); robotCameraManager = GameObject.Find("RobotCameraList").GetComponent <RobotCameraManager>(); IsMetric = PlayerPrefs.GetString("Measure").Equals("Metric"); StateMachine.Link <MainState>(GameObject.Find("Main Camera").transform.GetChild(0).gameObject); StateMachine.Link <MainState>(GameObject.Find("Main Camera").transform.GetChild(1).gameObject, false); StateMachine.Link <ReplayState>(Auxiliary.FindGameObject("ReplayUI")); StateMachine.Link <SaveReplayState>(Auxiliary.FindGameObject("SaveReplayUI")); StateMachine.Link <GamepieceSpawnState>(Auxiliary.FindGameObject("ResetGamepieceSpawnpointUI")); StateMachine.Link <DefineNodeState>(Auxiliary.FindGameObject("DefineNodeUI")); StateMachine.Link <GoalState>(Auxiliary.FindGameObject("GoalStateUI")); StateMachine.Link <SensorSpawnState>(Auxiliary.FindGameObject("ResetSensorSpawnpointUI")); StateMachine.Link <DefineSensorAttachmentState>(Auxiliary.FindGameObject("DefineSensorAttachmentUI")); MediaManager.getInstance(); Controls.Load(); Controls.UpdateFieldControls(); Controls.Save(true); }