46 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|