Files
beyond/Assets/Scripts/Tutorial/FinishTreeGrowthStep.cs

49 lines
1.8 KiB
C#
Raw Permalink Blame History

using UnityEngine;
namespace Beyond
{
public class FinishTreeGrowthStep : MonoBehaviour
{
public BaseStepController baseStepController; // Odwo<77>anie do BaseStepController
public TreeSpotController treeSpotController; // Odwo<77>anie do kontrolera drzewa
private bool isTreeFullyGrown = false; // Flaga wskazuj<75>ca, czy drzewo jest w pe<70>ni wyro<72>ni<6E>te
private void Start()
{
// Subskrybuje wydarzenie rozpocz<63>cia kroku tutoriala
baseStepController.OnStarted += OnStepStarted;
// Dodaje warunek do BaseStepController, kt<6B>ry okre<72>la, czy krok mo<6D>e zosta<74> zako<6B>czony
baseStepController.ConditionsAreMet += () => isTreeFullyGrown;
// Subskrybuje zdarzenie zmiany stanu drzewa
if (treeSpotController != null)
{
treeSpotController.onStateChanged.AddListener(OnTreeStateChanged);
}
}
private void OnStepStarted()
{
// Ustawiamy flag<61> na false przy rozpocz<63>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<73>gn<67>o stan w pe<70>ni wyro<72>ni<6E>ty
if (newState == TreeState.FullyGrown)
{
isTreeFullyGrown = true;
Debug.Log("Drzewo jest w pe<70>ni wyro<72>ni<6E>te. Zako<6B>czenie tutoriala.");
baseStepController.ForceStepFinished(); // Ko<4B>czymy krok i wy<77><79>czamy tutorial
}
}
}
}