public void TestScene() { gameState = CustomEnums.GameState.InSession; currentSession.Initialize(); currentSession.StartSession(); }
public void StartGame() { Cursor.visible = false; /////Set up menu this.gameState = CustomEnums.GameState.Menu; colorSwapZone[] csz = FindObjectsOfType <colorSwapZone>(); for (int i = 0; i < csz.Length; i++) { matsAvailable.Add(csz[i]); } //used to initialize the buttons in menu Furniture[] furs = FindObjectsOfType <Furniture>(); List <GameObject> go = new List <GameObject>(); for (int i = 0; i < furs.Length; i++) { if (furs[i].GetComponent <StartButton>() != null || furs[i].GetComponent <CreditsButton>() != null || furs[i].GetComponent <QuitButton>() != null || furs[i].GetComponent <Boss>() != null) { furs[i].Initialize(); } else { go.Add(furs[i].gameObject); } } if (!GameParams.Main.TESTSCENE) { for (int i = 0; i < go.Count; i++) { Furniture f = go[i].GetComponent <Furniture>(); var mf = go[i].gameObject.AddComponent <MenuFurniture>(); mf.data = f.data; if (!f.specialEffects.IsNullOrEmpty()) { mf.specialEffects = (GameObject[])f.specialEffects.Clone(); } if (f != null) { Destroy(f); } mf.Initialize(); } GameManager.Main.numberOfRoundsPlayed = 0; GameParams.Main.MainMusic.clip = GameParams.Main.MenuMusic; GameParams.Main.MainMusic.Play(); GameParams.Main.UIMenu.SetActive(true); GameParams.Main.UIInSession.SetActive(false); GameParams.Main.UIInstructions.SetActive(false); GameParams.Main.menuCam.gameObject.SetActive(true); GameParams.Main.sessionCam.gameObject.SetActive(false); GameParams.Main.medalsDisplayer.SetActive(false); GameParams.Main.medalsDisplayer.SetActive(false); } else { GameManager.Main.TestScene(); } }
public async void BeginSession() { for (int i = 0; i < playersInGame.Count; i++) { playersInGame[i].Drop(); playersInGame[i].Score = 0; playersInGame[i].scoreTracker.Clear(); if (this.gameState != CustomEnums.GameState.Menu) { playersInGame[i].gameObject.SetActive(false); } else { playersInGame[i].buttonA.SetActive(false); } } GameParams.Main.MainMusic.Stop(); gameState = CustomEnums.GameState.Loading; //Fade in await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.SwitchScreen.Show(); await Task.Delay(TimeSpan.FromSeconds(1)); //Setup GameParams.Main.UIInstructions.SetActive(true); GameParams.Main.menuCam.gameObject.SetActive(false); GameParams.Main.loadingScene.SetActive(true); GameParams.Main.medalsDisplayer.SetActive(false); GameParams.Main.UIMenu.SetActive(false); if (GameParams.Main.Menu != null) { GameParams.Main.Menu.SetActive(false); } //Fade out GameParams.Main.SwitchScreen.Hide(); await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.PlayersReminder.Show(); //Setup the new session GameManager.Main.currentSession = Instantiate(DetermineLevelToLaunch(), Vector3.zero, Quaternion.identity).GetComponent <SessionManager>(); GameManager.Main.currentSession.Initialize(); for (int i = 0; i < playersInGame.Count; i++) { GameManager.Main.playersInGame[i].cam = GameParams.Main.sessionCam.cam; GameManager.Main.playersInGame[i].transform.position = StaticUtils.RandomCircle(currentSession.SpawnPoint, 2); GameManager.Main.playersInGame[i].playerNumberText.gameObject.SetActive(false); GameManager.Main.playersInGame[i].gameObject.SetActive(true); } //Make sure the loading lasts at least 5s float loadTime = 0; while (currentSession.init == true) { loadTime += Time.deltaTime; await Task.Delay(10); } if (loadTime < 5) { await Task.Delay(TimeSpan.FromSeconds(5 - loadTime)); } //Fade in await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.SwitchScreen.Show(); await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.UIInstructions.SetActive(false); GameParams.Main.loadingScene.SetActive(false); GameParams.Main.sessionCam.gameObject.SetActive(true); GameParams.Main.UIInSession.SetActive(true); //Fade out await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.SwitchScreen.Hide(); await Task.Delay(TimeSpan.FromSeconds(1)); GameParams.Main.MainMusic.clip = currentSession.levelMusic; GameParams.Main.MainMusic.Play(); GameManager.Main.currentSession.StartSession(); GameParams.Main.eventReminder.Show(); if (GameManager.Main.numberOfRoundsPlayed == 1 && GameParams.Main.Menu != null) { Destroy(GameParams.Main.Menu); } }