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