43 lines
903 B
C#
43 lines
903 B
C#
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class KeyminigameManager : MonoBehaviour
|
|
{
|
|
public static KeyminigameManager Instance;
|
|
|
|
private int correctCount = 0;
|
|
public int totalKeys = 3;
|
|
|
|
|
|
/// <summary>Set by DraggableKey.Initialize() so CheckWin can fire Complete().</summary>
|
|
[HideInInspector] public ITask taskRef;
|
|
|
|
|
|
private void Awake()
|
|
{
|
|
Instance = this;
|
|
}
|
|
|
|
public void CheckWin()
|
|
{
|
|
correctCount++;
|
|
Debug.Log($"Keys inserted: {correctCount}/{totalKeys}");
|
|
|
|
if (correctCount >= totalKeys)
|
|
{
|
|
Debug.Log("All keys inserted — task complete!");
|
|
taskRef?.Complete();
|
|
|
|
}
|
|
}
|
|
|
|
public void Fail()
|
|
{
|
|
|
|
Debug.Log("Wrong slot — exiting task.");
|
|
taskRef?.ExitTask(null);
|
|
// TaskManager handles unloading; no SceneManager.LoadScene here
|
|
}
|
|
}
|
|
|