Fisec/Assets/Scripts/Game07/PlayerController07.cs
Gerard Gascón 9afd57306d init
2025-04-24 14:20:42 +02:00

54 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class PlayerController07 : MonoBehaviour{
public GameObject death;
public string menuScene;
public string[] scenes;
public Image timeBar;
public float maxTime = 5;
float currentTime;
Rigidbody2D rb2d;
// Start is called before the first frame update
void Start(){
currentTime = maxTime;
rb2d = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update(){
currentTime -= 1 * Time.deltaTime;
timeBar.transform.localScale = new Vector2(currentTime / maxTime, timeBar.transform.localScale.y);
if (currentTime <= 0){
StartCoroutine(Death());
}
}
void OnTriggerStay2D(Collider2D col){
if (rb2d.velocity.y < 0){
CompleteLevel();
}
}
IEnumerator Death(){
Time.timeScale = 0;
death.SetActive(true);
yield return new WaitForSecondsRealtime(4f);
LoseGame();
}
public void CompleteLevel(){
string scene = scenes[Random.Range(0, scenes.Length - 1)];
LevelLoader.Instance.LoadLevel(scene);
}
public void LoseGame(){
Debug.LogError(SceneManager.GetActiveScene().name);
LevelLoader.Instance.LoadLevel(menuScene);
}
}