This commit is contained in:
Gerard Gascón 2025-04-24 14:20:42 +02:00
commit 9afd57306d
323 changed files with 204673 additions and 0 deletions

68
Assets/Scripts/Game06.cs Normal file
View file

@ -0,0 +1,68 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Game06 : MonoBehaviour{
public Transform target;
public float speed;
public GameObject death;
bool canMove = true;
Vector3 start, end;
Rigidbody2D rb2d;
bool thrown;
// Start is called before the first frame update
void Start(){
rb2d = GetComponent<Rigidbody2D>();
rb2d.gravityScale = 0;
if(target != null){
target.parent = null;
start = transform.position;
end = target.position;
}
}
void Update(){
}
// Update is called once per frame
void FixedUpdate(){
if(target != null){
if (canMove){
float fixedSpeed = speed * Time.fixedDeltaTime;
transform.position = Vector3.MoveTowards(transform.position, target.position, fixedSpeed);
}
}
if(transform.position == target.position){
target.position = (target.position == start) ? end : start;
}
if (Input.GetKeyDown(KeyCode.Space)){
rb2d.gravityScale = 2;
Invoke("AbleToWin", .5f);
canMove = false;
}
if(rb2d.velocity.y >= -0.1f && thrown && rb2d.velocity.x <= 0.01f){
FindObjectOfType<GameController>().CompleteLevel();
}
}
void OnTriggerEnter2D(Collider2D col){
StartCoroutine(Death());
death.SetActive(true);
}
IEnumerator Death(){
yield return new WaitForSecondsRealtime(1f);
Time.timeScale = 0;
yield return new WaitForSecondsRealtime(4.5f);
FindObjectOfType<GameController>().LoseGame();
}
void AbleToWin(){
thrown = true;
}
}