Files
beyond/Assets/Scripts/Tutorial/FinishTreeGrowthStep.cs
2024-11-20 15:21:28 +01:00

45 lines
1.5 KiB
C#

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
}
}
}
}