Example #1
0
        private void HidePlanningTemplates()
        {
            TheShip.GetBoosterHelper().Find(SelectedBoostHelper).gameObject.SetActive(false);
            MonoBehaviour.Destroy(ShipStand);

            Roster.SetRaycastTargets(true);
        }
Example #2
0
        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;
        }
Example #3
0
        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)
                );
        }
Example #4
0
        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();
            }
        }