using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewCheckPoint : MonoBehaviour{ [SerializeField, Range(0f, 10f)] float radius = 6f; [SerializeField] GameObject lightToTurn; bool triggered; bool alreadyTriggered; public int checkPointNumber { set; get; } [SerializeField] MeshRenderer[] partsToTurnOn = default; [SerializeField] Material onMat = default; [SerializeField] Material offMat = default; [SerializeField] LayerMask playerMask = default; PlayerMovement player; // Start is called before the first frame update void Awake(){ lightToTurn.SetActive(false); player = FindObjectOfType(); for (int i = 0; i < partsToTurnOn.Length; i++){ partsToTurnOn[i].material = offMat; } } // Update is called once per frame void Update(){ triggered = Physics.CheckSphere(transform.position, radius, playerMask); if(triggered && !alreadyTriggered){ AudioManager.instance.Play("CheckPoint"); gameObject.layer = 10; lightToTurn.SetActive(true); PlayerPrefs.SetInt("CheckPoint", checkPointNumber); alreadyTriggered = true; for (int i = 0; i < partsToTurnOn.Length; i++){ partsToTurnOn[i].material = onMat; } } } }