Compare commits

..

No commits in common. "0d1db5152e386e97bc502082f867962a9c183bec" and "318a34e19241e4dc1806e1329f9459bd57dd15da" have entirely different histories.

9 changed files with 58 additions and 76 deletions

View File

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

View File

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

View File

@ -50,7 +50,7 @@ public class GameOverPopup : PopupBase
{ {
HidePopup(); HidePopup();
SetGameModeHandler(); gameModeHandler = gameModeHandler == null ? InterfaceManager.Instance.GetInterfaceInstance<GameModeHandler>() : gameModeHandler;
gameModeHandler.OnGameRestarted(); gameModeHandler.OnGameRestarted();
} }
@ -62,13 +62,5 @@ public class GameOverPopup : PopupBase
public void OnMainMenuClicked() public void OnMainMenuClicked()
{ {
HidePopup(); 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() private void OnClick_closeBtn()
{ {
ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>(); ScreenManager screenManager = InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>();
screenManager.ShowScreen(ScreenType.MainMenuScreen); screenManager.ShowScreen(ScreenType.MenuScreen);
soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager; soundManager = soundManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<SoundManager>() : soundManager;
soundManager?.PlayGameSoundClip(SoundType.ButtonClick); soundManager?.PlayGameSoundClip(SoundType.ButtonClick);

View File

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

View File

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

View File

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

View File

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

View File

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