From 8b3763cfbc33fd280883c7716eb7781beafa03ed Mon Sep 17 00:00:00 2001 From: "DESKTOP-6U5DPEC\\koush" Date: Sun, 22 Sep 2024 19:27:56 +0530 Subject: [PATCH 1/4] Implemented UI effect after rat rush. --- Assets/Scripts/Camera/CameraView.cs | 4 ++-- Assets/Scripts/Events/PlayerEscapedEvent.cs | 2 +- Assets/Scripts/Events/RatRushEvent.cs | 1 + Assets/Scripts/Player/PlayerController.cs | 6 +++--- Assets/Scripts/Service/EventService.cs | 10 ++++++---- Assets/Scripts/UI/GameUIView.cs | 14 ++++++++------ 6 files changed, 21 insertions(+), 16 deletions(-) diff --git a/Assets/Scripts/Camera/CameraView.cs b/Assets/Scripts/Camera/CameraView.cs index 1e140553..73d84545 100644 --- a/Assets/Scripts/Camera/CameraView.cs +++ b/Assets/Scripts/Camera/CameraView.cs @@ -14,13 +14,13 @@ public class CameraView : MonoBehaviour private void OnEnable() { EventService.Instance.OnLightsOffByGhostEvent.AddListener(Shake); - EventService.Instance.PlayerDeathEvent.AddListener(Shake); + EventService.Instance.OnPlayerDeathEvent.AddListener(Shake); } private void OnDisable() { EventService.Instance.OnLightsOffByGhostEvent.RemoveListener(Shake); - EventService.Instance.PlayerDeathEvent.RemoveListener(Shake); + EventService.Instance.OnPlayerDeathEvent.RemoveListener(Shake); } private void Start() diff --git a/Assets/Scripts/Events/PlayerEscapedEvent.cs b/Assets/Scripts/Events/PlayerEscapedEvent.cs index de7df07b..aa6384bf 100644 --- a/Assets/Scripts/Events/PlayerEscapedEvent.cs +++ b/Assets/Scripts/Events/PlayerEscapedEvent.cs @@ -9,7 +9,7 @@ private void OnTriggerEnter(Collider other) if (other.GetComponent() != null) { GameService.Instance.GetSoundView().PlaySoundEffects(soundToPlay); - EventService.Instance.PlayerEscapedEvent.InvokeEvent(); + EventService.Instance.OnPlayerEscapedEvent.InvokeEvent(); } } } diff --git a/Assets/Scripts/Events/RatRushEvent.cs b/Assets/Scripts/Events/RatRushEvent.cs index bb27fdc5..4836ecfc 100644 --- a/Assets/Scripts/Events/RatRushEvent.cs +++ b/Assets/Scripts/Events/RatRushEvent.cs @@ -14,6 +14,7 @@ private void OnTriggerEnter(Collider other) if (other.GetComponent() != null) { onRatRush(); + EventService.Instance.OnRatRush.InvokeEvent(); GameService.Instance.GetSoundView().PlaySoundEffects(soundToPlay); GetComponent().enabled = false; } diff --git a/Assets/Scripts/Player/PlayerController.cs b/Assets/Scripts/Player/PlayerController.cs index 709d4f7d..bc2e8478 100644 --- a/Assets/Scripts/Player/PlayerController.cs +++ b/Assets/Scripts/Player/PlayerController.cs @@ -24,14 +24,14 @@ public PlayerController(PlayerView playerView, PlayerScriptableObject playerScri EventService.Instance.OnLightsOffByGhostEvent.AddListener(onLightsOffByGhost); EventService.Instance.OnLightSwitchToggled.AddListener(onLightsToggled); EventService.Instance.OnKeyPickedUp.AddListener(OnKeyPickedUp); - EventService.Instance.PlayerEscapedEvent.AddListener(DisableControls); + EventService.Instance.OnPlayerEscapedEvent.AddListener(DisableControls); } ~PlayerController() { EventService.Instance.OnLightsOffByGhostEvent.RemoveListener(onLightsOffByGhost); EventService.Instance.OnLightSwitchToggled.RemoveListener(onLightsToggled); EventService.Instance.OnKeyPickedUp.RemoveListener(OnKeyPickedUp); - EventService.Instance.PlayerEscapedEvent.RemoveListener(DisableControls); + EventService.Instance.OnPlayerEscapedEvent.RemoveListener(DisableControls); } public void Interact() => IsInteracted = Input.GetKeyDown(KeyCode.E) ? true : (Input.GetKeyUp(KeyCode.E) ? false : IsInteracted); @@ -60,7 +60,7 @@ public void Move(Rigidbody playerRigidbody, Transform transform) public void KillPlayer() { PlayerState = PlayerState.Dead; - EventService.Instance.PlayerDeathEvent.InvokeEvent(); + EventService.Instance.OnPlayerDeathEvent.InvokeEvent(); } private void onLightsOffByGhost() => PlayerState = PlayerState.InDark; diff --git a/Assets/Scripts/Service/EventService.cs b/Assets/Scripts/Service/EventService.cs index fdb347e8..cb5ba5d6 100644 --- a/Assets/Scripts/Service/EventService.cs +++ b/Assets/Scripts/Service/EventService.cs @@ -17,16 +17,18 @@ public static EventService Instance public EventController OnKeyPickedUp { get; private set; } public EventController OnLightsOffByGhostEvent { get; private set; } - public EventController PlayerEscapedEvent { get; private set; } - public EventController PlayerDeathEvent { get; private set; } + public EventController OnPlayerEscapedEvent { get; private set; } + public EventController OnPlayerDeathEvent { get; private set; } + public EventController OnRatRush { get; private set; } public EventService() { OnLightSwitchToggled = new EventController(); OnKeyPickedUp = new EventController(); OnLightsOffByGhostEvent = new EventController(); + OnRatRush = new EventController(); - PlayerEscapedEvent = new EventController(); - PlayerDeathEvent = new EventController(); + OnPlayerEscapedEvent = new EventController(); + OnPlayerDeathEvent = new EventController(); } } diff --git a/Assets/Scripts/UI/GameUIView.cs b/Assets/Scripts/UI/GameUIView.cs index 01c49482..a6083f19 100644 --- a/Assets/Scripts/UI/GameUIView.cs +++ b/Assets/Scripts/UI/GameUIView.cs @@ -23,9 +23,10 @@ private void OnEnable() { EventService.Instance.OnKeyPickedUp.AddListener(OnKeyEquipped); EventService.Instance.OnLightsOffByGhostEvent.AddListener(SetRedVignette); - EventService.Instance.PlayerEscapedEvent.AddListener(OnPlayerEscaped); - EventService.Instance.PlayerDeathEvent.AddListener(SetRedVignette); - EventService.Instance.PlayerDeathEvent.AddListener(OnPlayerDeath); + EventService.Instance.OnPlayerEscapedEvent.AddListener(OnPlayerEscaped); + EventService.Instance.OnPlayerDeathEvent.AddListener(SetRedVignette); + EventService.Instance.OnPlayerDeathEvent.AddListener(OnPlayerDeath); + EventService.Instance.OnRatRush.AddListener(SetRedVignette); tryAgainButton.onClick.AddListener(OnTryAgainButtonClicked); quitButton.onClick.AddListener(OnQuitButtonClicked); @@ -35,9 +36,10 @@ private void OnDisable() { EventService.Instance.OnKeyPickedUp.RemoveListener(OnKeyEquipped); EventService.Instance.OnLightsOffByGhostEvent.RemoveListener(SetRedVignette); - EventService.Instance.PlayerEscapedEvent.RemoveListener(OnPlayerEscaped); - EventService.Instance.PlayerDeathEvent.RemoveListener(SetRedVignette); - EventService.Instance.PlayerDeathEvent.RemoveListener(OnPlayerDeath); + EventService.Instance.OnPlayerEscapedEvent.RemoveListener(OnPlayerEscaped); + EventService.Instance.OnPlayerDeathEvent.RemoveListener(SetRedVignette); + EventService.Instance.OnPlayerDeathEvent.RemoveListener(OnPlayerDeath); + EventService.Instance.OnRatRush.RemoveListener(SetRedVignette); } public void UpdateInsanity(float playerSanity) => insanityImage.rectTransform.localScale = new Vector3(1, playerSanity, 1); From 9cd6d4443c849d9f66158bbedbd017522ec500b1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-6U5DPEC\\koush" Date: Sun, 22 Sep 2024 23:02:17 +0530 Subject: [PATCH 2/4] Added listeners for camera shake and player sanity increase. --- Assets/Scripts/Camera/CameraView.cs | 2 ++ Assets/Scripts/Player/PlayerSanity.cs | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/Assets/Scripts/Camera/CameraView.cs b/Assets/Scripts/Camera/CameraView.cs index 73d84545..aab5156a 100644 --- a/Assets/Scripts/Camera/CameraView.cs +++ b/Assets/Scripts/Camera/CameraView.cs @@ -15,12 +15,14 @@ private void OnEnable() { EventService.Instance.OnLightsOffByGhostEvent.AddListener(Shake); EventService.Instance.OnPlayerDeathEvent.AddListener(Shake); + EventService.Instance.OnRatRush.AddListener(Shake); } private void OnDisable() { EventService.Instance.OnLightsOffByGhostEvent.RemoveListener(Shake); EventService.Instance.OnPlayerDeathEvent.RemoveListener(Shake); + EventService.Instance.OnRatRush.RemoveListener(Shake); } private void Start() diff --git a/Assets/Scripts/Player/PlayerSanity.cs b/Assets/Scripts/Player/PlayerSanity.cs index 6eb89bef..2657ba95 100644 --- a/Assets/Scripts/Player/PlayerSanity.cs +++ b/Assets/Scripts/Player/PlayerSanity.cs @@ -8,6 +8,16 @@ public class PlayerSanity : MonoBehaviour private float maxSanity; private PlayerController playerController; + private void OnEnable() + { + EventService.Instance.OnRatRush.AddListener(OnSupernaturalEvent); + } + + private void OnDisable() + { + EventService.Instance.OnRatRush.RemoveListener(OnSupernaturalEvent); + } + private void Start() { maxSanity = sanityLevel; From ce2dba003681d499b2708210c8e7a4a4f1bb47e2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-6U5DPEC\\koush" Date: Mon, 23 Sep 2024 10:21:33 +0530 Subject: [PATCH 3/4] Implemented skull drop event. --- Assets/Scripts/Camera/CameraView.cs | 2 ++ Assets/Scripts/Events/SkullDropEvent.cs | 5 +++-- Assets/Scripts/Player/PlayerSanity.cs | 2 ++ Assets/Scripts/Service/EventService.cs | 2 ++ Assets/Scripts/UI/GameUIView.cs | 2 ++ 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Camera/CameraView.cs b/Assets/Scripts/Camera/CameraView.cs index aab5156a..f3ba0409 100644 --- a/Assets/Scripts/Camera/CameraView.cs +++ b/Assets/Scripts/Camera/CameraView.cs @@ -16,6 +16,7 @@ private void OnEnable() EventService.Instance.OnLightsOffByGhostEvent.AddListener(Shake); EventService.Instance.OnPlayerDeathEvent.AddListener(Shake); EventService.Instance.OnRatRush.AddListener(Shake); + EventService.Instance.OnSkullDrop.AddListener(Shake); } private void OnDisable() @@ -23,6 +24,7 @@ private void OnDisable() EventService.Instance.OnLightsOffByGhostEvent.RemoveListener(Shake); EventService.Instance.OnPlayerDeathEvent.RemoveListener(Shake); EventService.Instance.OnRatRush.RemoveListener(Shake); + EventService.Instance.OnSkullDrop.RemoveListener(Shake); } private void Start() diff --git a/Assets/Scripts/Events/SkullDropEvent.cs b/Assets/Scripts/Events/SkullDropEvent.cs index 4cd5ec39..16c4cff5 100644 --- a/Assets/Scripts/Events/SkullDropEvent.cs +++ b/Assets/Scripts/Events/SkullDropEvent.cs @@ -10,13 +10,14 @@ private void OnTriggerEnter(Collider other) { if (other.GetComponent() != null && GameService.Instance.GetPlayerController().KeysEquipped >= keysRequiredToTrigger) { - OnSkullDrop(); + onSkullDrop(); GameService.Instance.GetSoundView().PlaySoundEffects(soundToPlay); + EventService.Instance.OnSkullDrop.AddListener(onSkullDrop); GetComponent().enabled = false; } } - private void OnSkullDrop() + private void onSkullDrop() { skulls.gameObject.SetActive(true); } diff --git a/Assets/Scripts/Player/PlayerSanity.cs b/Assets/Scripts/Player/PlayerSanity.cs index 2657ba95..6c88d4cd 100644 --- a/Assets/Scripts/Player/PlayerSanity.cs +++ b/Assets/Scripts/Player/PlayerSanity.cs @@ -11,11 +11,13 @@ public class PlayerSanity : MonoBehaviour private void OnEnable() { EventService.Instance.OnRatRush.AddListener(OnSupernaturalEvent); + EventService.Instance.OnSkullDrop.AddListener(OnSupernaturalEvent); } private void OnDisable() { EventService.Instance.OnRatRush.RemoveListener(OnSupernaturalEvent); + EventService.Instance.OnSkullDrop.RemoveListener(OnSupernaturalEvent); } private void Start() diff --git a/Assets/Scripts/Service/EventService.cs b/Assets/Scripts/Service/EventService.cs index cb5ba5d6..d9a285b2 100644 --- a/Assets/Scripts/Service/EventService.cs +++ b/Assets/Scripts/Service/EventService.cs @@ -20,6 +20,7 @@ public static EventService Instance public EventController OnPlayerEscapedEvent { get; private set; } public EventController OnPlayerDeathEvent { get; private set; } public EventController OnRatRush { get; private set; } + public EventController OnSkullDrop { get; private set; } public EventService() { @@ -27,6 +28,7 @@ public EventService() OnKeyPickedUp = new EventController(); OnLightsOffByGhostEvent = new EventController(); OnRatRush = new EventController(); + OnSkullDrop = new EventController(); OnPlayerEscapedEvent = new EventController(); OnPlayerDeathEvent = new EventController(); diff --git a/Assets/Scripts/UI/GameUIView.cs b/Assets/Scripts/UI/GameUIView.cs index a6083f19..6fc8f7f5 100644 --- a/Assets/Scripts/UI/GameUIView.cs +++ b/Assets/Scripts/UI/GameUIView.cs @@ -27,6 +27,7 @@ private void OnEnable() EventService.Instance.OnPlayerDeathEvent.AddListener(SetRedVignette); EventService.Instance.OnPlayerDeathEvent.AddListener(OnPlayerDeath); EventService.Instance.OnRatRush.AddListener(SetRedVignette); + EventService.Instance.OnSkullDrop.AddListener(SetRedVignette); tryAgainButton.onClick.AddListener(OnTryAgainButtonClicked); quitButton.onClick.AddListener(OnQuitButtonClicked); @@ -40,6 +41,7 @@ private void OnDisable() EventService.Instance.OnPlayerDeathEvent.RemoveListener(SetRedVignette); EventService.Instance.OnPlayerDeathEvent.RemoveListener(OnPlayerDeath); EventService.Instance.OnRatRush.RemoveListener(SetRedVignette); + EventService.Instance.OnSkullDrop.RemoveListener(SetRedVignette); } public void UpdateInsanity(float playerSanity) => insanityImage.rectTransform.localScale = new Vector3(1, playerSanity, 1); From 80558a3a497546b19d48dd74c734b7d30f51f403 Mon Sep 17 00:00:00 2001 From: "DESKTOP-6U5DPEC\\koush" Date: Mon, 23 Sep 2024 14:56:58 +0530 Subject: [PATCH 4/4] Implemented OnPotionDrinkEvent. --- Assets/Scripts/Interactables/PotionView.cs | 1 + Assets/Scripts/Player/PlayerSanity.cs | 2 ++ Assets/Scripts/Service/EventService.cs | 2 ++ 3 files changed, 5 insertions(+) diff --git a/Assets/Scripts/Interactables/PotionView.cs b/Assets/Scripts/Interactables/PotionView.cs index 639d68a2..9ec4fd51 100644 --- a/Assets/Scripts/Interactables/PotionView.cs +++ b/Assets/Scripts/Interactables/PotionView.cs @@ -9,6 +9,7 @@ public void Interact() { GameService.Instance.GetInstructionView().HideInstruction(); GameService.Instance.GetSoundView().PlaySoundEffects(soundType); + EventService.Instance.OnPotionDrink.InvokeEvent(potionEffect); gameObject.SetActive(false); } } diff --git a/Assets/Scripts/Player/PlayerSanity.cs b/Assets/Scripts/Player/PlayerSanity.cs index 6c88d4cd..e0e50bab 100644 --- a/Assets/Scripts/Player/PlayerSanity.cs +++ b/Assets/Scripts/Player/PlayerSanity.cs @@ -12,12 +12,14 @@ private void OnEnable() { EventService.Instance.OnRatRush.AddListener(OnSupernaturalEvent); EventService.Instance.OnSkullDrop.AddListener(OnSupernaturalEvent); + EventService.Instance.OnPotionDrink.AddListener(OnDrankPotion); } private void OnDisable() { EventService.Instance.OnRatRush.RemoveListener(OnSupernaturalEvent); EventService.Instance.OnSkullDrop.RemoveListener(OnSupernaturalEvent); + EventService.Instance.OnPotionDrink.RemoveListener(OnDrankPotion); } private void Start() diff --git a/Assets/Scripts/Service/EventService.cs b/Assets/Scripts/Service/EventService.cs index d9a285b2..e2f521f6 100644 --- a/Assets/Scripts/Service/EventService.cs +++ b/Assets/Scripts/Service/EventService.cs @@ -21,6 +21,7 @@ public static EventService Instance public EventController OnPlayerDeathEvent { get; private set; } public EventController OnRatRush { get; private set; } public EventController OnSkullDrop { get; private set; } + public EventController OnPotionDrink { get; private set; } public EventService() { @@ -29,6 +30,7 @@ public EventService() OnLightsOffByGhostEvent = new EventController(); OnRatRush = new EventController(); OnSkullDrop = new EventController(); + OnPotionDrink = new EventController(); OnPlayerEscapedEvent = new EventController(); OnPlayerDeathEvent = new EventController();