protected IEnumerator FTUESwitch() { AsyncOperation lScene = SceneManager.LoadSceneAsync("TransitionScene", LoadSceneMode.Single); while (!lScene.isDone) { yield return(null); } _loadedScene = SceneString.MapView; UIManager.instance.SwitchFTUE(); InventoryPlayer.Instance.Clear(); LinkDatabase.Instance.Clear(); ControllerInput.instance.ResetDatasTouch(); InteractablePNJ.PNJs.Clear(); ResourcesManager.Instance.Clear(); CameraManager.Instance.Reset(); PlayerManager.Instance.Clear(); EarthManager.Instance.DestroyPlanet(); NotePad.Instance.CleanBillboards(); NotePad.Instance.GoToMenu(null); PARTY_TYPE = EPartyType.NEW; StartMainPlanet(); }
public void StartMainPlanet() { Events.Instance.AddListener <OnEndPlanetCreation>(OnEndCreation); FtueManager.instance.ForceClear(); PARTY_TYPE = EPartyType.NEW; EarthManager.Instance.playingPlanetName = EarthManager.Instance.planetName; PlanetSave.LoadPlayer(EarthManager.Instance.playingPlanetName); PlanetSave.LoadCitizens(EarthManager.Instance.playingPlanetName); PlanetSave.LoadPNJs(EarthManager.Instance.playingPlanetName); EarthManager.Instance.playerPositions = PlanetSave.DeserializePlayerPositions(PlanetSave.BasePlayerPos); EarthManager.Instance.CreatePlanet(); }
public void OnClickOnStartButton() { Events.Instance.AddListener <OnEndPlanetCreation>(OnEndCreation); FtueManager.instance.Display(false); FtueManager.instance.Restart(); PARTY_TYPE = EPartyType.NEW; EarthManager.Instance.playingPlanetName = EarthManager.Instance.ftuePlanetName; PlanetSave.LoadPlayer(EarthManager.Instance.playingPlanetName); PlanetSave.LoadPNJs(EarthManager.Instance.playingPlanetName); EarthManager.Instance.playerPositions = PlanetSave.DeserializePlayerPositions(PlanetSave.BasePlayerPos); EarthManager.Instance.CreatePlanet(); }
protected IEnumerator LoadMainMenu() { AsyncOperation lScene = SceneManager.LoadSceneAsync("TransitionScene", LoadSceneMode.Single); while (!lScene.isDone) { yield return(null); } _loadedScene = SceneString.MapView; PARTY_TYPE = EPartyType.NONE; LoadGameParty(); }
public void OnClickOnContinueButton() { PARTY_TYPE = EPartyType.SAVE; if (!FtueManager.instance.Finish) { FtueManager.instance.ForceClear(); } Events.Instance.AddListener <OnEndPlanetCreation>(OnEndCreation); InventoryPlayer.Instance.Load(); List <SavePlayerPosition> players; ArrayExtensions.ToList(PlanetSave.GameStateSave.SavedPlayers, out players); EarthManager.Instance.playerPositions = PlanetSave.DeserializePlayerPositions(players); EarthManager.Instance.playingPlanetName = EarthManager.Instance.planetName; PlanetSave.LoadPlayer(EarthManager.Instance.playingPlanetName); PlanetSave.LoadCitizens(EarthManager.Instance.playingPlanetName); PlanetSave.LoadPNJs(EarthManager.Instance.playingPlanetName); EarthManager.Instance.CreatePlanet(); }
public void LoadGameParty() { bool hasParty = PlanetSave.LoadParty(); if (hasParty) { if (PlanetSave.GameStateSave.version == VERSION) { Events.Instance.Raise(new PartyLoaded(hasParty)); } else { PlanetSave.DeleteParty(); PARTY_TYPE = EPartyType.NONE; Events.Instance.Raise(new PartyLoaded(false)); } } else { Events.Instance.Raise(new PartyLoaded(hasParty)); } }
protected void CreateCells(EPartyType partyType) { foreach (GroundMesh ground in planetLink.allGroundMesh) { GameObject newGo = Instantiate(_cellPrefab, Vector3.zero, Quaternion.identity, planetLink.transform); _cellsObj.Add(newGo); Cell newCell = newGo.GetComponent <Cell>(); newCell.SetID(); newCell.Init(ground); Mesh finalMesh = newCell.gameObject.GetComponent <MeshFilter>().mesh; finalMesh.vertices = ground.smoothVertex; finalMesh.triangles = ground.smoothTriangles; finalMesh.normals = ground.smoothNormals; finalMesh.uv = ground.UVs; newCell.gameObject.GetComponent <MeshCollider>().sharedMesh = finalMesh; finalMesh.RecalculateBounds(); _cells.Add(newCell); } planetLink.GenerateNeighborLinks(planetLink.GetMinimalNeighborDistance(), _cells); if (partyType == EPartyType.SAVE) { int l = _cells.Count; Cell cCell; for (int i = 0; i < l; i++) { cCell = _cells[i]; Mesh finalMesh = cCell.gameObject.GetComponent <MeshFilter>().mesh; List <SaveCell> outCells; ArrayExtensions.ToList(PlanetSave.GameStateSave.SavedCells, out outCells); SaveCell sCell = outCells.Find(c => c.ID == cCell.ID); cCell.Init(sCell); cCell.SetPolution(sCell.poluted); if (sCell.poluted) { PolutionArea.CELLS_USED.Add(cCell); } cCell.SetDeforestation(sCell.deforested); if (sCell.deforested) { DeforestationArea.CELLS_USED.Add(cCell); } UpdateNbCell(cCell.State); finalMesh.vertices = cCell.GroundMesh.smoothVertex; finalMesh.triangles = cCell.GroundMesh.smoothTriangles; finalMesh.normals = cCell.GroundMesh.smoothNormals; finalMesh.uv = cCell.GroundMesh.UVs; cCell.gameObject.GetComponent <MeshCollider>().sharedMesh = finalMesh; finalMesh.RecalculateBounds(); } } else if (partyType == EPartyType.NEW) { if (PlanetSave.LoadCells(playingPlanetName)) { foreach (Cell cCell in _cells) { Mesh finalMesh = cCell.gameObject.GetComponent <MeshFilter>().mesh; SaveCell sCell = PlanetSave.BaseCells.Find(c => c.ID == cCell.ID); cCell.Init(sCell); UpdateNbCell(cCell.State); finalMesh.vertices = cCell.GroundMesh.smoothVertex; finalMesh.triangles = cCell.GroundMesh.smoothTriangles; finalMesh.normals = cCell.GroundMesh.smoothNormals; finalMesh.uv = cCell.GroundMesh.UVs; cCell.gameObject.GetComponent <MeshCollider>().sharedMesh = finalMesh; finalMesh.RecalculateBounds(); } } } }