54 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|