public StartState() { solarSystem = new SolarSystem(); loader = DataLoader.loader; control = GameControl.control; selectedPlanet = new SelectedPlanet(selectedPlanet.selectedOrbit.transform.GetChild(1).gameObject); //in each object that can be turned on/off check list of objects to disable from loader.objectsToDisable.Contains(gameobject.name); using System.Linq; //control.selectedLevel = solarSystem.levelsDictionary[loader.levelKey]; //print("setting StartState"); // if (loader.playerHasDied) { ***DEADBODY LOGIC*** MAY GO IN SOME FUTURE TIME // playerDeadBodyTransform.gameObject.SetActive(true); // } selectedPlanet.selectedOrbit = solarSystem.orbitDictionary[loader.orbitKey]; selectedPlanet.selectedPlanet = selectedPlanet.selectedOrbit.transform.GetChild(1).gameObject; selectedPlanet.selectedPlanetTransform = selectedPlanet.selectedPlanet.transform; selectedPlanet.playerInPlanetOrbitPosition.position = selectedPlanet.selectedOrbit.transform.GetChild(0).position; if (selectedPlanet.selectedPlanet.name.ToLower() == "sun") { selectedPlanet.playerLookAt = selectedPlanet.selectedPlanetTransform.parent.GetChild(2).GetChild(0).position; } else { selectedPlanet.playerLookAt = selectedPlanet.selectedPlanetTransform.position; } foreach (Transform level in selectedPlanet.selectedPlanetTransform) { level.gameObject.SetActive(true); } control.playerTransform.position = selectedPlanet.selectedOrbit.transform.GetChild(0).position; control.playerTransform.LookAt(selectedPlanet.playerLookAt); //loader.playerHasDied = false; }
public void SelectPlanet(GameObject planetToSelect) { if (planetToSelect.name != loader.lastPlanetVisited) { selectedPlanet = new SelectedPlanet(planetToSelect); //new select planet planet = selectedPlanet.selectedPlanet; playerScript.AnimationByHash(PlayerScript.player.flyOldHash); if (goToPlanet != null) { StopCoroutine(goToPlanet); } mainCameraTransform.GetComponent <CameraFollowScript>().ToggleFollow(); goToPlanet = StartCoroutine(GoToPlanet()); } }
//overload for debug public void GoToLevel(GameObject _selectedPlanet, GameObject _selectedLevel) //debug function potentially extend to any level { selectedPlanet = new SelectedPlanet(_selectedPlanet); //new select planet planet = selectedPlanet.selectedPlanet; selectedLevel = new SelectedLevel(_selectedLevel); playerScript.selectedLevel = selectedLevel; originalDistance = Vector3.Distance(playerTransform.position, selectedLevel.playerInBattleStartingPosition.transform.position); // calculate the distance before entering function selectedLevel.selectedLevel.SetActive(true); selectedLevel.enemiesToActivate.SetActive(true); //activate enemies selectedLevel.puzzlePiecesHolder.SetActive(true); //activate enemies DisplayTheText("arrived" + selectedLevel.selectedLevel.name); playerScript.allowedToHit = true; currentPlayerState = PlayerState.inBattle; player.transform.rotation = selectedLevel.playerInBattleStartingPosition.transform.rotation; player.transform.position = selectedLevel.playerInBattleStartingPosition.transform.position; }