Aimbot-ParallelEnv/Assets/Script/Start/StartUIManager.cs
Koha9 246ac4adfa V3.1.2 追加Train Button选择
引入DOTween Plugin
追加Train Button选择和其动画
优化代码
2023-07-08 22:22:31 +08:00

78 lines
2.1 KiB
C#

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<SceneLoader>();
startSceneData = startSceneDataObj.GetComponent<StartSeneData>();
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...";
}
}