using UnityEngine; namespace Beyond { public class FinishTreeGrowthStep : MonoBehaviour { public BaseStepController baseStepController; // Odwołanie do BaseStepController public TreeSpotController treeSpotController; // Odwołanie do kontrolera drzewa private bool isTreeFullyGrown = false; // Flaga wskazująca, czy drzewo jest w pełni wyrośnięte private void Start() { // Subskrybuje wydarzenie rozpoczęcia kroku tutoriala baseStepController.OnStarted += OnStepStarted; // Dodaje warunek do BaseStepController, który określa, czy krok może zostać zakończony baseStepController.ConditionsAreMet += () => isTreeFullyGrown; // Subskrybuje zdarzenie zmiany stanu drzewa if (treeSpotController != null) { treeSpotController.onStateChanged.AddListener(OnTreeStateChanged); } } private void OnStepStarted() { // Ustawiamy flagę na false przy rozpoczęciu kroku isTreeFullyGrown = false; } private void OnTreeStateChanged(TreeState newState) { // Sprawdzamy, czy drzewo osiągnęło stan w pełni wyrośnięty if (newState == TreeState.FullyGrown) { isTreeFullyGrown = true; Debug.Log("Drzewo jest w pełni wyrośnięte. Zakończenie tutoriala."); baseStepController.ForceStepFinished(); // Kończymy krok i wyłączamy tutorial } } } }