private void HidePlanningTemplates() { TheShip.GetBoosterHelper().Find(SelectedBoostHelper).gameObject.SetActive(false); MonoBehaviour.Destroy(ShipStand); Roster.SetRaycastTargets(true); }
private void ShowBoosterHelper() { TheShip.GetBoosterHelper().Find(SelectedBoostHelper).gameObject.SetActive(true); Transform newBase = TheShip.GetBoosterHelper().Find(SelectedBoostHelper + "/Finisher/BasePosition"); ShipStand.transform.position = new Vector3(newBase.position.x, 0, newBase.position.z); ShipStand.transform.rotation = newBase.rotation; obstaclesStayDetectorMovementTemplate = TheShip.GetBoosterHelper().Find(SelectedBoostHelper).GetComponentInChildren <ObstaclesStayDetectorForced>(); obstaclesStayDetectorMovementTemplate.TheShip = TheShip; }
private void ShowBoosterHelper() { SelectedBoostHelper = SelectedTemplate.Bearing + " " + ((SelectedTemplate.Speed == ManeuverSpeed.Speed1) ? "1" : "2") + ((SelectedDirectionSecondary == Direction.None) ? "" : " " + SelectedDirectionSecondary.ToString()); TheShip.GetBoosterHelper().Find(SelectedBoostHelper).gameObject.SetActive(true); Transform newBase = TheShip.GetBoosterHelper().Find(SelectedBoostHelper + "/Finisher/BasePosition"); GameObject prefab = (GameObject)Resources.Load(TheShip.ShipBase.TemporaryPrefabPath, typeof(GameObject)); TemporaryShipBase = MonoBehaviour.Instantiate(prefab, TheShip.GetPosition(), TheShip.GetRotation(), Board.GetBoard()); TemporaryShipBase.transform.position = new Vector3(newBase.position.x, 0, newBase.position.z); TemporaryShipBase.transform.rotation = newBase.rotation; GameManagerScript.Instance.StartCoroutine( CheckCollisionsOfTemporaryBoostElements(FinishBoost) ); }
protected IEnumerator CheckCollisionsOfTemporaryBoostElements(Action callback) { BarrelRollProblems.Clear(); ObstaclesStayDetectorForced obstaclesStayDetectorMovementTemplate = TheShip.GetBoosterHelper().Find(SelectedBoostHelper).GetComponentInChildren <ObstaclesStayDetectorForced>(); obstaclesStayDetectorMovementTemplate.TheShip = TheShip; TemporaryShipBase.transform.Find("ShipBase").Find("ObstaclesStayDetector").gameObject.AddComponent <ObstaclesStayDetectorForced>(); ObstaclesStayDetectorForced obstaclesStayDetectorNewBase = TemporaryShipBase.GetComponentInChildren <ObstaclesStayDetectorForced>(); yield return(CheckBoostTemplate(obstaclesStayDetectorMovementTemplate)); yield return(CheckBoostTemplate(obstaclesStayDetectorNewBase)); if (!IsBoostTemplateColliderDataAllowed(obstaclesStayDetectorMovementTemplate) || !IsBoostTemplateNewBaseDataAllowed(obstaclesStayDetectorNewBase)) { CancelBoost(); } else { callback(); } }