From c6a328194c6569da3ed4e65833583adefe8f025b Mon Sep 17 00:00:00 2001 From: trubkokrtek Date: Thu, 4 Jun 2026 21:20:28 +0200 Subject: [PATCH] added ITask --- Assets/Scripts/ButtonsMinigame.cs | 36 +++++++++++++++++++++++++++---- GeoSusGame.slnx | 3 --- 2 files changed, 32 insertions(+), 7 deletions(-) delete mode 100644 GeoSusGame.slnx diff --git a/Assets/Scripts/ButtonsMinigame.cs b/Assets/Scripts/ButtonsMinigame.cs index 8dd6395..30baf6a 100644 --- a/Assets/Scripts/ButtonsMinigame.cs +++ b/Assets/Scripts/ButtonsMinigame.cs @@ -1,9 +1,11 @@ -using UnityEngine; +using System; using System.Collections; using System.Collections.Generic; -using TMPro; using System.Data.SqlTypes; +using System.Threading.Tasks; +using TMPro; using UnityEditor; +using UnityEngine; public enum GameState { @@ -14,7 +16,7 @@ public enum GameState MinigameWon } -public class ButtonsMinigame : MonoBehaviour +public class ButtonsMinigame : MonoBehaviour, ITask { public Light[] lights; public int round = 1; @@ -28,12 +30,23 @@ public class ButtonsMinigame : MonoBehaviour private GameState state = GameState.Idle; private List sequence = new List(); + 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 System.Action _onComplete; + private Action _onExit; void GenerateSequence() { sequence.Clear(); for (int i = 0; i < round; i++) { - int randomButton = Random.Range(0,5); + int randomButton = UnityEngine.Random.Range(0,5); sequence.Add(randomButton); } } @@ -106,6 +119,7 @@ public class ButtonsMinigame : MonoBehaviour if (round >= winRound) { SetState(GameState.MinigameWon); + Complete(); } else { @@ -123,4 +137,18 @@ public class ButtonsMinigame : MonoBehaviour } } + public void Initialize(System.Action onCompleted) + { + _onComplete = onCompleted; + } + + public void ExitTask(System.Action onExit) + { + onExit.Invoke(this); + } + + public void Complete() + { + _onComplete?.Invoke(this); + } } diff --git a/GeoSusGame.slnx b/GeoSusGame.slnx deleted file mode 100644 index 20919c7..0000000 --- a/GeoSusGame.slnx +++ /dev/null @@ -1,3 +0,0 @@ - - -