using System.Collections; using System.Collections.Generic; using UnityEngine; public class CanvasOnOff : MonoBehaviour { [SerializeField] private List CanvasUIElements; [SerializeField] private bool CanvasUIIsEnabled; private void Start() { // Find all GameObjects with the specified tag GameObject[] taggedObjects = GameObject.FindGameObjectsWithTag("PlayerGameplayHUD"); // Loop through each GameObject found and add its Canvas component to the list foreach (GameObject obj in taggedObjects) { Canvas canvas = obj.GetComponent(); if (canvas != null) { CanvasUIElements.Add(canvas); } else { Debug.LogWarning("GameObject with tag 'PlayerGameplayHUD' does not have a Canvas component."); } } } // Update is called once per frame void Update() { if (!CanvasUIIsEnabled && Input.GetKeyDown(KeyCode.Alpha1)) { foreach (var canvasUIElements in CanvasUIElements) { canvasUIElements.enabled = true; PlayerOverlapSphereDetectorManager.GetInstance().enabled = true; } CanvasUIIsEnabled = true; } else if (CanvasUIIsEnabled && Input.GetKeyDown(KeyCode.Alpha1)) { foreach (var canvasUIElements in CanvasUIElements) { canvasUIElements.enabled = false; PlayerOverlapSphereDetectorManager.GetInstance().enabled = false; } CanvasUIIsEnabled = false; } } }