Esempio n. 1
0
    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;
    }
Esempio n. 2
0
 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());
     }
 }
Esempio n. 3
0
 //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;
 }