diff --git a/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs b/UnityGoesBruh/Assets/Scripts/Door_2/MainDoorController.cs index 772ead58f8380494ed794f87b9fe0b57b68e481c..c1583d2e00c839b3073fd44ab87f372cb0e4719f 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 138a4083f3f807e3305fe204fab12969f2f79289..ad6d0f890e5337d7674b7b5f3606107465aff498 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 }