- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class HeavyPressurePlate : MonoBehaviour
- {
- public List<GameObject> weights = new List<GameObject>();
- private List<GameObject> currentWeights = new List<GameObject>();
- private Triggers triggers;
-
- void Start()
- {
- triggers = GetComponent<Triggers>();
- }
- private void OnTriggerEnter(Collider other)
- {
- if (weights.Contains(other.gameObject) && !currentWeights.Contains(other.gameObject))
- {
- currentWeights.Add(other.gameObject);
- }
- bool has = true;
- for (int i = 0;i<weights.Count;i++)
- {
- if (!currentWeights.Contains(weights[i]))
- {
- has = false;
- break;
- }
- }
- if (has)
- {
- triggers.CheckInverse(true);
- }
- }
- private void OnTriggerExit(Collider other)
- {
- currentWeights.Remove(other.gameObject);
-
- triggers.CheckInverse(false);
- }
- }