using System; using TMPro; using UnityEngine; public class StartUIManager : MonoBehaviour { public int waitTimeLimit = 45; public GameObject sceneLoaderObj; public GameObject startSceneDataObj; public TextMeshProUGUI messageTextObj; public TextMeshProUGUI waitTimeTextObj; private SceneLoader sceneLoader; private StartSeneData startSceneData; private float startTime; private float nowTime; // Start is called before the first frame update void Start() { sceneLoader = sceneLoaderObj.GetComponent(); startSceneData = startSceneDataObj.GetComponent(); messageTextObj.text = ""; } private void Update() { // update time limit left; float leftTime = waitTimeLimit - Time.realtimeSinceStartup; waitTimeTextObj.text = ((int)Math.Round(leftTime)).ToString(); if (leftTime <= 1) { // if time limit is over, load Train Scene sceneLoader.LoadGameScene(SceneLoader.SceneType.Train); } } // while StartButton-Play Pressed public void OnPlayButtonPressed() { startSceneData.gameMode = 1; sceneLoader.LoadGameScene(SceneLoader.SceneType.Play); messageTextObj.text = "Loading Play Scene..."; } public void OnAttackTrainButtonPressed() { // while Train-Attack-Button Pressed startSceneData.attackProb = 1f; LoadTrainScene(); } public void OnGotoTrainButtonPressed() { // while Train-Goto-Button Pressed startSceneData.gotoProb = 1f; LoadTrainScene(); } public void OnFreeTrainButtonPressed() { // while Train-Free-Button Pressed LoadTrainScene(); } public void OnMixTrainButtonPressed() { // while Train-Mix-Button Pressed startSceneData.attackProb = 0.333f; startSceneData.gotoProb = 0.333f; LoadTrainScene(); } private void LoadTrainScene() { // load Train Scene sceneLoader.LoadGameScene(SceneLoader.SceneType.Train); messageTextObj.text = "Loading Train Scene..."; } }