using System; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.SceneManagement; public class StateManager : MonoBehaviour { public List Resettables; private void populateResettables() { Resettables ??= new List(); Resettables.Clear(); foreach (var goot in SceneManager.GetActiveScene().GetRootGameObjects()) { Resettables.AddRange(goot.GetComponentsInChildren()); } } void Start() { populateResettables(); } public void ResetAll() { foreach (var resettable in Resettables) { resettable.ResetThis(); } } }