You've already forked Darklings-FightingGame
mirror of
https://github.com/izzy2lost/Darklings-FightingGame.git
synced 2026-03-10 11:35:19 -07:00
54 lines
2.0 KiB
C#
54 lines
2.0 KiB
C#
using System.Collections;
|
|
using System.Text.RegularExpressions;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class LoadingHandler : MonoBehaviour
|
|
{
|
|
[SerializeField] private PlayerUIRender _playerUIRenderOne = default;
|
|
[SerializeField] private PlayerUIRender _playerUIRenderTwo = default;
|
|
[SerializeField] private TextMeshProUGUI _characterOneName = default;
|
|
[SerializeField] private TextMeshProUGUI _characterTwoName = default;
|
|
[SerializeField] private TextMeshProUGUI _stageName = default;
|
|
[SerializeField] private PlayerStatsSO[] _playerStats = default;
|
|
[SerializeField] private GameObject[] _stages = default;
|
|
|
|
|
|
void Start()
|
|
{
|
|
SetPlayersInfo();
|
|
StartCoroutine(LoadingCoroutine());
|
|
}
|
|
|
|
private void SetPlayersInfo()
|
|
{
|
|
_playerUIRenderOne.PlayerStats = _playerStats[SceneSettings.PlayerOne];
|
|
_playerUIRenderTwo.PlayerStats = _playerStats[SceneSettings.PlayerTwo];
|
|
_playerUIRenderOne.SetAnimationController();
|
|
_playerUIRenderTwo.SetAnimationController();
|
|
_playerUIRenderOne.SetSpriteLibraryAsset(SceneSettings.ColorOne);
|
|
_playerUIRenderTwo.SetSpriteLibraryAsset(SceneSettings.ColorTwo);
|
|
int stageColorIndex = SceneSettings.Bit1 ? 1 : 0;
|
|
_stages[SceneSettings.StageIndex].transform.GetChild(stageColorIndex).gameObject.SetActive(true);
|
|
_characterOneName.text = Regex.Replace(_playerStats[SceneSettings.PlayerOne].characterName.ToString(), "([a-z])([A-Z])", "$1 $2");
|
|
_characterTwoName.text = Regex.Replace(_playerStats[SceneSettings.PlayerTwo].characterName.ToString(), "([a-z])([A-Z])", "$1 $2");
|
|
_stageName.text = _stages[SceneSettings.StageIndex].name.Substring(0, _stages[SceneSettings.StageIndex].name.IndexOf("_"));
|
|
}
|
|
|
|
IEnumerator LoadingCoroutine()
|
|
{
|
|
AsyncOperation loadingOperation = SceneManager.LoadSceneAsync(3);
|
|
loadingOperation.allowSceneActivation = false;
|
|
while (!loadingOperation.isDone)
|
|
{
|
|
if (loadingOperation.progress >= 0.9f)
|
|
{
|
|
yield return new WaitForSeconds(2.5f);
|
|
loadingOperation.allowSceneActivation = true;
|
|
}
|
|
yield return null;
|
|
}
|
|
}
|
|
}
|