Isoulated/Assets/Scripts/Level/CheckPoint.cs
Gerard Gascón 001bb14f16 init
2025-04-24 17:19:36 +02:00

46 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CheckPoint : MonoBehaviour{
public GameObject lightToTurn;
[HideInInspector]
public int checkPointNumber;
public GameObject[] partesFarola;
public Material apagado;
public Material encendido;
PlayerController player;
public LayerMask whatIsPlayer;
bool triggered;
bool alreadyTriggered;
void Start(){
player = GameObject.FindObjectOfType<PlayerController>();
for (int i = 0; i < partesFarola.Length; i++){
partesFarola[i].GetComponent<MeshRenderer>().material = apagado;
}
}
void Update(){
triggered = Physics2D.OverlapCircle(transform.position, 6, whatIsPlayer);
if(triggered && !alreadyTriggered){
AudioManager.instance.Play("CheckPoint");
this.gameObject.layer = 10;
lightToTurn.SetActive(true);
PlayerPrefs.SetInt("CheckPoint", checkPointNumber);
alreadyTriggered = true;
for (int i = 0; i < partesFarola.Length; i++){
partesFarola[i].GetComponent<MeshRenderer>().material = encendido;
}
}
if (player.runOutOfLight){
lightToTurn.SetActive(false);
this.gameObject.layer = 13;
for (int i = 0; i < partesFarola.Length; i++){
partesFarola[i].GetComponent<MeshRenderer>().material = apagado;
}
}
}
}