using UnityEngine;
using RenownedGames.AITree;

namespace AC.Downloads.AITree
{

	public class BehaviourStateSetter : MonoBehaviour
	{

		[SerializeField] private BehaviourRunner[] behaviourRunners = new BehaviourRunner[0];
		[SerializeField] private bool autoDisableDuringCutscenes = true;


		private void OnEnable ()
		{
			EventManager.OnEnterGameState += OnEnterGameState;
		}


		private void OnDisable ()
		{
			EventManager.OnEnterGameState -= OnEnterGameState;
		}


		private void OnEnterGameState (GameState gameState)
		{
			if (autoDisableDuringCutscenes)
			{
				if (gameState == GameState.Normal)
				{
					TurnOn ();
				}
				else
				{
					TurnOff ();
				}
			}
		}


		public void TurnOn ()
		{
			foreach (BehaviourRunner behaviourRunner in behaviourRunners)
			{
				behaviourRunner.enabled = true;
			}
		}


		public void TurnOff ()
		{
			foreach (BehaviourRunner behaviourRunner in behaviourRunners)
			{
				behaviourRunner.enabled = false;
			}
		}

	}

}