public void GetPlayerBackOnRightSpot() { if (IntersceneManager.intersceneManager != null) { ArenaParameters parameters = IntersceneManager.intersceneManager.ArenaInterscInformations.GetLaunchedArenaParameters; if (parameters != null) { MapArenaSpot arenaSpot = null; foreach (MapArenaSpot spot in mapProgressionManager.GetAllMapArenaSpots) { if (spot.GetArenaParameters == parameters) { arenaSpot = spot; arenaSpot.SetDontActivateSincePlayerOut(); break; } } ShipMovements playerShipMvt = playerShip.ShipMvt; if (arenaSpot != null) { if (arenaSpot.GetPlayerTransformOnceStopped != null) { playerShip.transform.position = arenaSpot.GetPlayerTransformOnceStopped.position; playerShipMvt.SetCurrentRotation(arenaSpot.GetPlayerTransformOnceStopped.rotation.eulerAngles.y); } } } } }
public void SetUp(ArenaParameters parameters) { if (parameters != null) { currentArenaParameters = parameters; } }
public void StartLaunchArena() { if (loadingArena) { return; } mapManager.SavePlayerDatas(); MapArenaSpot arenaSpot = mapManager.GetOpenedSpecialPlace as MapArenaSpot; if (arenaSpot == null) { return; } EquipmentsSet equipmentsSet = mapManager.ShipCompoManager.ComposeEquipmentSet(); if (equipmentsSet.GetHullEquipment == null) { Debug.LogWarning("Attention : il n'y a aucune coque sur ce bateau. Impossible de lancer le jeu."); return; } else { IntersceneManager.intersceneManager.SetPlayerDatas(equipmentsSet); } ArenaParameters launchedArenaParameters = arenaSpot.GetArenaParameters; string arenaBuildName = launchedArenaParameters.GetSceneToLoadName; try { IntersceneManager.intersceneManager.MapInterscInformations.SetMapIntersceneInfos(SceneManager.GetActiveScene().name, GameManager.gameManager.Player.transform.position, launchedArenaParameters.GetSpecialSceneToLoadAfterSuccesName); IntersceneManager.intersceneManager.ArenaInterscInformations.SetArenaLaunchInformations(launchedArenaParameters); //SceneManager.LoadSceneAsync(arenaBuildName); sceneToLoad = arenaBuildName; loadingArena = true; GameManager.gameManager.LoadScreenManager.StartEndLoad(LaunchArena); } catch { Debug.LogWarning("Cette scene n'existe pas ou n'as pas été ajoutée à la liste des scenes buildées"); } }
public void ShowBeginPanel(bool isTutorial) { SetUp(ArenaManager.arenaManager.ScoreMng); beginPanel.SetActive(true); ArenaParameters arenaParameters = scoreManager.GetCurrentArenaParameters; if (arenaParameters != null) { instructionText.text = arenaParameters.GetArenaStartDescription; float totalTimeInSeconds = scoreManager.GetCurrentArenaParameters.GetMaximumArenaTimeToHaveStar; float seconds = totalTimeInSeconds % 60; float minutes = (int)(totalTimeInSeconds / 60); //timeLimitScoreText.text = "Finish level in less than " + minutes + "'" + (seconds < 10 ? ("0" + seconds.ToString()) : seconds.ToString()); timeLimitScoreText.text = /*"Finish the level without hitting any obstacle"*/ "No obstacle hit"; damageLimitScoreText.text = /*"Take*/ "Less than " + scoreManager.GetCurrentArenaParameters.GetMaximumNumberOfDamagesToHaveStar + " damages"; } if (arenaTypeImage != null) { ArenaGameMode gameMode = ArenaManager.arenaManager.GetArenaType; switch (gameMode) { case (ArenaGameMode.WavesClearing): arenaTypeImage.sprite = clearWaveArenaSprite; break; case (ArenaGameMode.Escape): arenaTypeImage.sprite = escapeArenaSprite; break; case (ArenaGameMode.EnemyShipPursuit): arenaTypeImage.sprite = chaseArenaSprite; break; case (ArenaGameMode.Assassination): arenaTypeImage.sprite = assassinationArenaSprite; break; } } }
public void CheckMapProgression() { IntersceneManager intersceneManager = IntersceneManager.intersceneManager; if (intersceneManager != null) { bool passedTutorial = false; PlayerProgressionDatas progressionDatas = PlayerDataSaver.LoadProgressionDatas(); ArenaIntersceneInformations arenaIntersceneInformations = intersceneManager.ArenaInterscInformations; #region Tutorial if (arenaIntersceneInformations.GetNeedToPassTutorial) { if (arenaIntersceneInformations.GetArenaPassed) { progressionDatas.SetPassedTutorial(); arenaIntersceneInformations.SetNeedToPassTutorial(false); PlayerDataSaver.SavePlayerProgressionDatas(progressionDatas.GetAllPassedArenaDatas, true); } } if (progressionDatas != null) { passedTutorial = progressionDatas.GetPassedTuto; } #endregion #region Already Unlocked #region V2 List <PassedArenaData> allPassedArenaDatas = new List <PassedArenaData>(); if (progressionDatas != null) { allPassedArenaDatas = progressionDatas.GetAllPassedArenaDatas; if (allPassedArenaDatas == null) { allPassedArenaDatas = new List <PassedArenaData>(); } foreach (PassedArenaData datas in allPassedArenaDatas) { foreach (MapArenaSpot arenaSpot in allMapArenaSpots) { if (arenaSpot.GetArenaParameters.GetSceneToLoadName == datas.GetArenaName && datas.GetArenaPassed) { arenaSpot.UnlockNextProgressionContent(false, datas.GetNumberOfStars); break; } } } } else { Debug.Log("pas encore d'arènes débloquées"); } #endregion #endregion #region Just Unlocked ArenaParameters lastArenaParameters = arenaIntersceneInformations.GetLaunchedArenaParameters; if (lastArenaParameters == null) { arenaIntersceneInformations.SetArenaPassed(false, 0); if (intersceneManager.ArenaInterscInformations.GetJustPassedTutorial) { intersceneManager.ArenaInterscInformations.SetJustPassedTutorial(false); if (cinematicToPlayAfterTutorial != null) { cinematicToPlayAfterTutorial.PlayCinematic(); } } return; } #region V2 List <string> passedArenaNames = new List <string>(); if (allPassedArenaDatas == null) { allPassedArenaDatas = new List <PassedArenaData>(); } foreach (PassedArenaData datas in allPassedArenaDatas) { if (datas.GetArenaPassed) { passedArenaNames.Add(datas.GetArenaName); } } if (arenaIntersceneInformations.GetArenaPassed) { int stars = arenaIntersceneInformations.GetNumberOfStars; if (passedArenaNames.Contains(lastArenaParameters.GetSceneToLoadName)) { foreach (MapArenaSpot arenaSpot in allMapArenaSpots) { if (arenaSpot.GetArenaParameters.GetSceneToLoadName == lastArenaParameters.GetSceneToLoadName) { if (stars > arenaSpot.GetStarsNumber) { arenaSpot.UnlockNextProgressionContent(false, stars); } foreach (PassedArenaData datas in allPassedArenaDatas) { if (datas.GetArenaName == lastArenaParameters.GetSceneToLoadName) { datas.ChangeNumberOfStars(stars); break; } } PlayerDataSaver.SavePlayerProgressionDatas(allPassedArenaDatas, passedTutorial); break; } } return; } foreach (MapArenaSpot arenaSpot in allMapArenaSpots) { if (arenaSpot.GetArenaParameters.GetSceneToLoadName == lastArenaParameters.GetSceneToLoadName) { arenaSpot.UnlockNextProgressionContent(true, stars); break; } } allPassedArenaDatas.Add(new PassedArenaData(lastArenaParameters, true, stars)); PlayerDataSaver.SavePlayerProgressionDatas(allPassedArenaDatas, passedTutorial); } #endregion #endregion bool arenaPassed = arenaIntersceneInformations.GetArenaPassed; int numberOfStars = arenaIntersceneInformations.GetNumberOfStars; //arenaIntersceneInformations.SetArenaLaunchInformations(null); arenaIntersceneInformations.SetArenaPassed(false, 0); } }
public void Reinitialize() { launchedArenaParameters = null; needToPassTutorial = true; }
public void SetArenaLaunchInformations(ArenaParameters arenaParameters) { launchedArenaParameters = arenaParameters; }
public PassedArenaData(ArenaParameters arenaParameters, bool passed, int arenaStarsNumber) { arenaName = arenaParameters.GetSceneToLoadName; arenaPassed = passed; numberOfStars = arenaStarsNumber; }