Compare commits

..

3 Commits

Author SHA1 Message Date
0d1db5152e Refactored UI scripts. 2026-02-02 17:45:34 +05:30
d11c7dfe39 Pause panel bindings. 2026-02-02 17:37:11 +05:30
ec87b47d61 Added menu flow in game over popup. 2026-02-02 17:30:03 +05:30
9 changed files with 75 additions and 57 deletions

View File

@ -25,7 +25,6 @@ public class BotModeData
public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
{
private GameplayManager gameplayManager;
private GameManager gameManager;
private PVPModeData pvpModeData;
private BotModeData botModeData;
@ -34,6 +33,11 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
get; private set;
}
public GameManager GameManager
{
get; private set;
}
public void Initialize()
{
InterfaceManager.Instance.RegisterInterface<GameModeHandler>(this);
@ -41,7 +45,7 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void InitializeData()
{
gameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
GameManager = InterfaceManager.Instance.GetInterfaceInstance<GameManager>();
gameplayManager = InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
}
@ -70,7 +74,7 @@ public class GameModeHandler : MonoBehaviour, IBase, IBootLoader, IDataLoader
public void OnGameRestarted()
{
gameManager.OnGameStateChanged(GameState.InGame);
GameManager.OnGameStateChanged(GameState.InGame);
gameplayManager.ResetGameRestartData();
switch (CurrentGameModeType)
{

View File

@ -1,5 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UIManager : MonoBehaviour, IBase, IBootLoader, IDataLoader

View File

@ -50,7 +50,7 @@ public class GameOverPopup : PopupBase
{
HidePopup();
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
SetGameModeHandler();
gameModeHandler.OnGameRestarted();
}
@ -62,5 +62,13 @@ public class GameOverPopup : PopupBase
public void OnMainMenuClicked()
{
HidePopup();
SetGameModeHandler();
gameModeHandler.GameManager.OnGameStateChanged(GameState.InMenu);
}
private void SetGameModeHandler()
{
gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
}
}

View File

@ -21,7 +21,7 @@ public class InstructionsPopup : PopupBase
private void OnClick_closeBtn()
{
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
screenManager.ShowScreen(ScreenType.MenuScreen);
screenManager.ShowScreen(ScreenType.MainMenuScreen);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);

View File

@ -11,27 +11,28 @@ public class OptionsPopup : PopupBase
private void OnEnable()
{
closeBtn.onClick.AddListener(OnClick_closeBtn);
closeBtn.onClick.AddListener(OnClick_CloseButton);
mainVolSlider.onValueChanged.AddListener(OnMainVolChanged);
musicVolSlider.onValueChanged.AddListener(OnBGMVolChanged);
sfxVolSlider.onValueChanged.AddListener(OnSFXVolChanged);
InitializeSliders();
}
private void OnDisable()
{
closeBtn.onClick.RemoveListener(OnClick_closeBtn);
closeBtn.onClick.RemoveListener(OnClick_CloseButton);
mainVolSlider.onValueChanged.RemoveListener(OnMainVolChanged);
musicVolSlider.onValueChanged.RemoveListener(OnBGMVolChanged);
sfxVolSlider.onValueChanged.RemoveListener(OnSFXVolChanged);
}
private void OnClick_closeBtn()
private void OnClick_CloseButton()
{
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
screenManager.ShowScreen(ScreenType.MenuScreen);
popupManager.HidePopup(PopupType);
Hide();
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
screenManager.ShowScreen(ScreenType.MainMenuScreen);
}
public void OnMainVolChanged(float value)
@ -70,7 +71,6 @@ public class OptionsPopup : PopupBase
mainVolSlider.value = mainVol;
musicVolSlider.value = bgmVol;
sfxVolSlider.value = sfxVol;
}
}

View File

@ -8,42 +8,46 @@ public class PauseMenuPopup : PopupBase
[SerializeField] private Button playBtn;
[SerializeField] private Button exitBtn;
SoundManager soundManager;
private SoundManager soundManager;
private GameManager gameManager;
private void OnEnable()
{
playBtn.onClick.AddListener(OnClick_playBtn);
homeBtn.onClick.AddListener(OnClick_homeBtn);
exitBtn.onClick.AddListener(OnClick_exitBtn);
playBtn.onClick.AddListener(OnClick_PlayButton);
homeBtn.onClick.AddListener(OnClick_HomeButton);
exitBtn.onClick.AddListener(OnClick_ExitButton);
}
private void OnDisable()
{
playBtn.onClick.RemoveListener(OnClick_playBtn);
homeBtn.onClick.RemoveListener(OnClick_homeBtn);
exitBtn.onClick.RemoveListener(OnClick_exitBtn);
playBtn.onClick.RemoveListener(OnClick_PlayButton);
homeBtn.onClick.RemoveListener(OnClick_HomeButton);
exitBtn.onClick.RemoveListener(OnClick_ExitButton);
}
private void OnClick_playBtn()
private void OnClick_PlayButton()
{
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
popupManager.HidePopup(popupType);
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
screenManager.ShowScreen(ScreenType.InGameHUDScreen);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
}
private void OnClick_homeBtn()
private void OnClick_HomeButton()
{
// TODO: Implement Home Button Functionality
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
popupManager.HidePopup(popupType);
gameManager = InterfaceManager.Instance?.GetInterfaceInstance<GameManager>();
gameManager.OnGameStateChanged(GameState.InMenu);
}
private void OnClick_exitBtn()
private void OnClick_ExitButton()
{
Application.Quit();
}

View File

@ -117,12 +117,13 @@ public class PvAIModePopup : PopupBase
private void OnClick_CloseButton()
{
popupManager.HidePopup(popupType);
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
screenManager.ShowScreen(ScreenType.MenuScreen);
screenManager.ShowScreen(ScreenType.MainMenuScreen);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
}
private void OnColorSelected(PlayerType type, Button button)

View File

@ -247,12 +247,12 @@ public class PvPModePopup : PopupBase
private void OnClick_CloseButton()
{
popupManager.HidePopup(popupType);
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
screenManager.ShowScreen(ScreenType.MenuScreen);
screenManager.ShowScreen(ScreenType.MainMenuScreen);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
}
}

View File

@ -17,23 +17,23 @@ public class MenuHUDScreen : ScreenBase
private void OnEnable()
{
pvpModeBtn.onClick.AddListener(OnClick_pvpModeBtn);
pvaiModeBtn.onClick.AddListener(OnClick_pvaiModeBtn);
optionsBtn.onClick.AddListener(OnClick_optionsBtn);
instructionsBtn.onClick.AddListener(OnClick_instructionsBtn);
exitBtn.onClick.AddListener(OnClick_exitBtn);
pvpModeBtn.onClick.AddListener(OnClick_PVPModeButton);
pvaiModeBtn.onClick.AddListener(OnClick_PvAIModeButton);
optionsBtn.onClick.AddListener(OnClick_OptionsButton);
instructionsBtn.onClick.AddListener(OnClick_InstructionsButton);
exitBtn.onClick.AddListener(OnClick_ExitButton);
}
private void OnDisable()
{
pvpModeBtn.onClick.RemoveListener(OnClick_pvpModeBtn);
pvaiModeBtn.onClick.RemoveListener(OnClick_pvaiModeBtn);
optionsBtn.onClick.RemoveListener(OnClick_optionsBtn);
instructionsBtn.onClick.RemoveListener(OnClick_instructionsBtn);
exitBtn.onClick.RemoveListener(OnClick_exitBtn);
pvpModeBtn.onClick.RemoveListener(OnClick_PVPModeButton);
pvaiModeBtn.onClick.RemoveListener(OnClick_PvAIModeButton);
optionsBtn.onClick.RemoveListener(OnClick_OptionsButton);
instructionsBtn.onClick.RemoveListener(OnClick_InstructionsButton);
exitBtn.onClick.RemoveListener(OnClick_ExitButton);
}
private void OnClick_pvpModeBtn()
private void OnClick_PVPModeButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.PvPModePopup);
@ -41,12 +41,10 @@ public class MenuHUDScreen : ScreenBase
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
// screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
// screenManager.HideScreen(ScreenType.MenuHUDScreen);
HideScreen();
}
private void OnClick_pvaiModeBtn()
private void OnClick_PvAIModeButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.PvAIModePopup);
@ -54,10 +52,10 @@ public class MenuHUDScreen : ScreenBase
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
HideScreen();
}
private void OnClick_optionsBtn()
private void OnClick_OptionsButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.OptionsPopup);
@ -65,10 +63,10 @@ public class MenuHUDScreen : ScreenBase
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
HideScreen();
}
private void OnClick_instructionsBtn()
private void OnClick_InstructionsButton()
{
popupManager = popupManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<PopupManager>() : popupManager;
popupManager.ShowPopup(PopupType.InstructionsPopup);
@ -76,10 +74,15 @@ public class MenuHUDScreen : ScreenBase
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);
Hide();
HideScreen();
}
private void OnClick_exitBtn()
private void HideScreen()
{
screenManager.HideScreen(ScreenType);
}
private void OnClick_ExitButton()
{
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick);