//Initiate scene by setting background and setting up objects internal void startBack(playStatus a_state) { transform.SetSiblingIndex(0); thisScreen = GetComponent <Image>(); GameObject helper = GameObject.Find("Helper"); if (helper != null) { helper.transform.SetParent(this.transform, false); } changeBack(a_state); }
//Change the game's state, closing/opening containers and changing text. public override void changeState(playStatus newState) { base.changeState(newState); disableObjects(); gameState = newState; monsterManager.DisplayScore(); switch (gameState) { case playStatus.ArenaHome: homeScreen.SetActive(true); break; case playStatus.ArenaStart: startScreen.SetActive(true); break; case playStatus.ArenaCombat: battleScreen.SetActive(true); break; case playStatus.ArenaContinue: monsterManager.PlayerWon(); continueScreen.SetActive(true); break; case playStatus.ArenaLost: lossScreen.SetActive(true); monsterManager.PlayerLost(); break; case playStatus.subjectSelect: SceneManager.LoadScene(1); break; case playStatus.ArenaLeaderBoard: leaderboard.SetActive(true); break; default: break; } }
//Change the game's state, closing/opening containers and changing text. public override void changeState(playStatus newState) { base.changeState(newState); disableObjects(); gameState = newState; switch (gameState) { /* * case playStatus.Login: * list.Save(); * gameInstruction.text = ""; * login.SetActive(true); * break; */ case playStatus.Start: startContainer.SetActive(true); break; case playStatus.subjectSelect: SceneManager.LoadScene(1); break; case playStatus.MyMonster: SceneManager.LoadScene(2); break; case playStatus.Splash: splashContainer.SetActive(true); break; case playStatus.ArenaHome: SceneManager.LoadScene(5); break; default: break; } }
//Change the game's state, closing/opening containers and changing text. public override void changeState(playStatus newState) { base.changeState(newState); disableObjects(); gameState = newState; switch (gameState) { case playStatus.LillyHome: lillyhomeSelection.SetActive(true); break; case playStatus.subjectSelect: SceneManager.LoadScene(1); break; default: break; } }
//Change the game's state, closing/opening containers and changing text. public virtual void changeState(playStatus newState) { if (header) { if (newState == playStatus.Won) { header.UpdateUI(false); } else { header.UINeedsUpdate = true; } } backgrounds.changeBack(newState); if (manager == null) { manager = FindObjectOfType <MusicManager>(); return; } manager.setMusic(newState); }
//Change the game's state, closing/opening containers and changing text. public void changeState(playStatus newState) { DisableObjects(); optionState = newState; switch (optionState) { case playStatus.Options: optionsSelection.SetActive(true); break; case playStatus.SoundControl: SoundsOptions.SetActive(true); break; case playStatus.OtherOptions: otherOptions.SetActive(true); break; case playStatus.Credits: creditsSelection.SetActive(true); break; default: if (starParticle) { starParticle.gameObject.SetActive(true); } if (gold) { gold.gameObject.SetActive(true); } Destroy(gameObject); Time.timeScale = 1; break; } }
//Select a music clip, and check if the clip is different. If so, swap it in and play it. public void setMusic(playStatus newState) { if (musicSource == null) { musicSource = gameObject.GetComponent <AudioSource>(); } musicSource.pitch = 1; AudioClip adding = null; musicSource.loop = true; switch (newState) { case playStatus.Start: adding = music[0]; break; case playStatus.subjectSelect: adding = music[1]; break; case playStatus.Addition: adding = music[2]; break; case playStatus.Subtraction: adding = music[3]; break; case playStatus.Multiplication: adding = music[4]; break; case playStatus.Division: adding = music[5]; break; case playStatus.MathFortress: adding = music[6]; break; case playStatus.playing: musicSource.Stop(); return; case playStatus.Won: musicSource.Stop(); break; case playStatus.Lost: musicSource.loop = false; adding = music[9]; break; case playStatus.MyMonster: adding = music[10]; break; case playStatus.MonsterCustomisation: adding = music[11]; break; case playStatus.LillyHome: adding = music[12]; break; case playStatus.Options: adding = music[13]; break; case playStatus.Credits: adding = music[16]; break; case playStatus.Login: adding = music[17]; break; case playStatus.Splash: adding = music[0]; break; case playStatus.ArenaHome: adding = music[0]; break; case playStatus.ArenaStart: adding = music[1]; break; case playStatus.ArenaCombat: musicSource.Stop(); return; case playStatus.ArenaContinue: adding = music[8]; break; case playStatus.ArenaLost: adding = music[9]; break; case playStatus.ArenaLeaderBoard: break; default: break; } if (adding != null && adding != musicSource.clip) { musicSource.clip = adding; musicSource.Play(); } }
//Change the game's state, closing/opening containers and changing text. public override void changeState(playStatus newState) { base.changeState(newState); disableObjects(); gameState = newState; switch (gameState) { case playStatus.Login: list.Save(); SceneManager.LoadScene(0); break; case playStatus.Start: list.Save(); SceneManager.LoadScene(0); break; case playStatus.subjectSelect: checkLevelsAvailable(); monsterM.quizRunning = null; subjectContainer.SetActive(true); break; case playStatus.Addition: awakenSubject(additionSelection); additionSelection.SetActive(true); break; case playStatus.Subtraction: awakenSubject(subtractionSelection); subtractionSelection.SetActive(true); break; case playStatus.Multiplication: awakenSubject(multiplicationSelection); multiplicationSelection.SetActive(true); break; case playStatus.Division: awakenSubject(divisionSelection); divisionSelection.SetActive(true); break; case playStatus.MathFortress: awakenSubject(mathfortressSelection); mathfortressSelection.SetActive(true); break; case playStatus.playing: player.gameObject.SetActive(true); enemyContainer.gameObject.SetActive(true); combatContainer.SetActive(true); container.gameObject.SetActive(true); break; case playStatus.Lost: enemyContainer.gameObject.SetActive(false); combatContainer.SetActive(true); FindObjectOfType <TorsoPart>().Animate(Animations.Dead); loseContainer.SetActive(true); loseContainer.GetComponent <WinState>().End(0); container.DisableThisAndCalculator(); break; case playStatus.Won: checkLevelsAvailable(); nextButton.ready(); combatContainer.SetActive(true); enemyContainer.gameObject.SetActive(false); WinContainer.SetActive(true); int exp = player.CalculateExperience(); WinContainer.GetComponent <WinState>().End(exp); list.equip.shards += exp; container.DisableThisAndCalculator(); FindObjectOfType <TorsoPart>().Animate(Animations.Attack); break; case playStatus.MyMonster: SceneManager.LoadScene(2); break; case playStatus.Splash: SceneManager.LoadScene(0); break; case playStatus.ArenaHome: SceneManager.LoadScene(5); break; default: break; } }
//We're changing states, which means changing the background to suit that state. public void changeBack(playStatus a_state) { if (thisScreen == null) { return; } newImage = null; GameObject scroller = null; switch (a_state) { case playStatus.Start: newImage = mainScreen; break; case playStatus.subjectSelect: newImage = subjectScreen; break; case playStatus.Addition: scroller = Instantiate(AddPrefab, transform, false); //newImage = additionScreen; break; case playStatus.Subtraction: scroller = Instantiate(subPrefab, transform, false); //newImage = subtractionScreen; break; case playStatus.Multiplication: scroller = Instantiate(mulPrefab, transform, false); //newImage = multiplicationScreen; break; case playStatus.Division: scroller = Instantiate(divPrefab, transform, false); //newImage = divisionScreen; break; case playStatus.MathFortress: scroller = Instantiate(ForPrefab, transform, false); //newImage = mathfortressScreen; break; case playStatus.playing: return; case playStatus.Won: return; case playStatus.Lost: return; case playStatus.MyMonster: newImage = menuScreen; break; case playStatus.MonsterCustomisation: newImage = menuScreen; break; case playStatus.LillyHome: newImage = menuScreen; break; case playStatus.Options: newImage = menuScreen; break; case playStatus.Credits: newImage = menuScreen; break; case playStatus.Login: newImage = mainScreen; break; case playStatus.Splash: newImage = mainScreen; break; default: break; } if (scroller) { if (currentScroll) { Destroy(currentScroll.gameObject); } currentScroll = scroller.GetComponent <ScrollingParent>(); thisScreen.enabled = false; return; } if (currentScroll) { Destroy(currentScroll.gameObject); } if (newImage != null) { thisScreen.sprite = newImage; thisScreen.enabled = true; } else { thisScreen.enabled = false; } }