From 5b18ee7bc041491ef911c9bf1932c2884120d73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Eichhorn?= <leo.eichhorn@etu.unistra.fr> Date: Fri, 20 Jan 2023 12:48:58 +0100 Subject: [PATCH] Fixed issue --- .../Assets/Scripts/Door_2/MainDoorController.cs | 15 +++++++++++++-- UnityGoesBruh/Assets/Scripts/Game/Logic.cs | 13 ++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs b/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs index 772ead58..c1583d2e 100644 --- a/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs +++ b/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs @@ -3,8 +3,9 @@ using System.Collections.Generic; using UnityEngine; using TMPro; using Assets.Scripts.Simon_Say; +using Game.MinigameScript; -public class MainDoorController : MonoBehaviour +public class MainDoorController : MonoBehaviour, MiniGameObserver { [SerializeField] private GameObject _console; @@ -22,6 +23,16 @@ public class MainDoorController : MonoBehaviour set => this._isLocked = value; } + public void OnWin(MiniGame miniGame) + { + OnKeypadCorrect(); + } + + public void OnLose(MiniGame miniGame) + { + + } + // Start is called before the first frame update void Start() { @@ -31,7 +42,7 @@ public class MainDoorController : MonoBehaviour } if (this._keypad != null) { - this._keypad.GetComponent<keypadController>().OnCorrect(OnKeypadCorrect); + this._keypad.GetComponent<Keypad>().AddObserver(this); } this._animator = this.GetComponent<Animator>(); diff --git a/UnityGoesBruh/Assets/Scripts/Game/Logic.cs b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs index 138a4083..ad6d0f89 100644 --- a/UnityGoesBruh/Assets/Scripts/Game/Logic.cs +++ b/UnityGoesBruh/Assets/Scripts/Game/Logic.cs @@ -21,7 +21,9 @@ public class Logic : MonoBehaviour, MiniGameObserver { foreach (GameObject gameObject in _miniGames) { - gameObject.GetComponent<MiniGame>().AddObserver(this); + MiniGame miniGame = gameObject.GetComponent<MiniGame>(); + miniGame.AddObserver(this); + miniGame.enabled = false; } ChooseRandomMiniGame(); } @@ -29,15 +31,16 @@ public class Logic : MonoBehaviour, MiniGameObserver //Choose a new random game on win public void OnWin(MiniGame miniGame) { - _curMiniGame.enabled = false; - - ChooseRandomMiniGame(); + if(_curMiniGame == miniGame){ + _curMiniGame.enabled = false; + ChooseRandomMiniGame(); + } } //Not implemented public void OnLose(MiniGame miniGame) { - _curMiniGame.enabled = false; + //_curMiniGame.enabled = false; //Quit Game / Lose Condition } -- GitLab