From 2ae5d28cc96a44a4e954f1354ca420c7336e0f12 Mon Sep 17 00:00:00 2001 From: trubkokrtek Date: Sun, 17 May 2026 10:06:36 +0200 Subject: [PATCH] Implemented ITask --- .../Scripts/InsertKeysManager.cs | 33 +++++++++++++++++-- Assets/KeyInsertMinigameAssets/Scripts/Key.cs | 1 + 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/Assets/KeyInsertMinigameAssets/Scripts/InsertKeysManager.cs b/Assets/KeyInsertMinigameAssets/Scripts/InsertKeysManager.cs index 154ea97..4dcf321 100644 --- a/Assets/KeyInsertMinigameAssets/Scripts/InsertKeysManager.cs +++ b/Assets/KeyInsertMinigameAssets/Scripts/InsertKeysManager.cs @@ -1,13 +1,24 @@ +using System; using UnityEngine; -public class InserKeysMinigameManager : MonoBehaviour +public class InserKeysMinigameManager : MonoBehaviour, ITask { public int correctIndex; public bool isInputLocked = false; + public string TaskID { get; set; } + + public TaskType TaskType { get; set; } + + public string TaskName { get; set; } + + public (double, double) TaskLocation { get; set; } + public bool IsCompleted { get; private set; } + private Action _onCompleted; + private void Start() { - correctIndex = Random.Range(0, 9); + correctIndex = UnityEngine.Random.Range(0, 9); Debug.Log("The correct keyhole is: " + correctIndex); } @@ -15,4 +26,22 @@ public class InserKeysMinigameManager : MonoBehaviour { return index == correctIndex; } + + public void Initialize(System.Action onCompleted) + { + IsCompleted = false; + _onCompleted = onCompleted; + } + + public void ExitTask(System.Action onExit) + { + onExit.Invoke(this); + } + + public void Complete() + { + IsCompleted = true; + _onCompleted?.Invoke(this); + ExitTask(null); + } } diff --git a/Assets/KeyInsertMinigameAssets/Scripts/Key.cs b/Assets/KeyInsertMinigameAssets/Scripts/Key.cs index fd2174d..47f5990 100644 --- a/Assets/KeyInsertMinigameAssets/Scripts/Key.cs +++ b/Assets/KeyInsertMinigameAssets/Scripts/Key.cs @@ -82,6 +82,7 @@ public class Key : MonoBehaviour Debug.Log("You win"); if (winText != null) winText.SetActive(true); + manager.Complete(); } }