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

61 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Game10 : MonoBehaviour{
public string menuScene;
public string[] scenes;
public Image timeBar;
public float maxTime = 5f;
float currentTime;
[Space(10)]
public GameObject death;
public float rotationSpeed;
public Transform player;
float rotZ;
// Start is called before the first frame update
void Start(){
currentTime = maxTime;
transform.localRotation = Quaternion.Euler(0, 0, Random.Range(30f, 330f));
}
// 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());
death.SetActive(true);
}
if (Input.GetKey(KeyCode.Space)){
rotZ -= rotationSpeed * 10 * Time.deltaTime;
}
player.localRotation = Quaternion.Euler(0, 0, rotZ);
}
void OnTriggerStay2D(Collider2D col){
if (Input.GetKeyUp(KeyCode.Space)){
player.localRotation = transform.localRotation;
CompleteLevel();
}
}
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);
}
IEnumerator Death(){
Time.timeScale = 0;
yield return new WaitForSecondsRealtime(4f);
LoseGame();
}
}