45 lines
1.5 KiB
C#
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
|
|
}
|
|
}
|
|
}
|
|
}
|