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; //replenish faith so we can grow tree for sure PlayerAttribute faithAttribute = Player.Instance.GetAttribute("Faith"); faithAttribute.AttributeCurrentValue = faithAttribute.AttributeMaxValue; } 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 } } } }