[SerializeField] private UISettings _settingScreen = default ;
[Header("Gameplay Components")]
[SerializeField] private GameStateSO _gameState = default ;
[SerializeField] private GameStateSO _gameStateManager = default ;
[SerializeField] private MenuSO _mainMenu = default ;
[SerializeField] private InputReader _inputReader = default ;
_inputReader . menuPauseEvent - = OpenUIPause ; // you can open UI pause menu again, if it's closed
// Time.timeScale = 0; // Pause time
Time . timeScale = 0 ; // Pause time
_pauseScreen . SettingsScreenOpened + = OpenSettingScreen ; //once the UI Pause popup is open, listen to open Settings
_pauseScreen . BackToMainRequested + = ShowBackToMenuConfirmationPopup ; //once the UI Pause popup is open, listen to back to menu button
_pauseScreen . gameObject . SetActive ( true ) ;
_inputReader . EnableMenuInput ( ) ;
_gameState . UpdateGameState ( GameState . Pause ) ;
_gameStateManager . UpdateGameState ( GameState . Pause ) ;
}
void CloseUIPause ( )
_inputReader . EnableGameplayInput ( ) ;
_selectionHandler . Unselect ( ) ;
_gameState . ResetToPreviousGameState ( ) ;
_gameStateManager . ResetToPreviousGameState ( ) ;
}
void OpenSettingScreen ( )
}
void SetInventoryScreenForCooking ( )
{
isForCooking = true ;
OpenInventoryScreen ( ) ;
if ( _gameStateManager . CurrentGameState = = GameState . Gameplay )
{
isForCooking = true ;
OpenInventoryScreen ( ) ;
}
isForCooking = false ;
OpenInventoryScreen ( ) ;
if ( _gameStateManager . CurrentGameState = = GameState . Gameplay )
{
isForCooking = false ;
OpenInventoryScreen ( ) ;
}
_inputReader . menuPauseEvent - = OpenUIPause ; // you cant open the UI Pause again when you are in inventory
_inputReader . menuUnpauseEvent - = CloseUIPause ; // you can close the UI Pause popup when you are in inventory
_inputReader . menuPauseEvent - = OpenUIPause ; // player cant open the UI Pause again when they are in inventory
_inputReader . menuUnpauseEvent - = CloseUIPause ; // player can close the UI Pause popup when they are in inventory
_inputReader . closeInventoryEvent + = CloseInventoryScreen ;
if ( isForCooking )
{
_inputReader . EnableMenuInput ( ) ;
_gameState . UpdateGameState ( GameState . Inventory ) ;
_gameStateManager . UpdateGameState ( GameState . Inventory ) ;
}
void CloseInventoryScreen ( )
{
}
_selectionHandler . Unselect ( ) ;
_inputReader . EnableGameplayInput ( ) ;
_gameState . ResetToPreviousGameState ( ) ;
_gameStateManager . ResetToPreviousGameState ( ) ;
if ( isOpenEvent )
if ( _gameStateManager . CurrentGameState = = GameState . Gameplay )
_interactionPanel . FillInteractionPanel ( interactionType ) ;
if ( isOpenEvent )
{
_interactionPanel . FillInteractionPanel ( interactionType ) ;
}
_interactionPanel . gameObject . SetActive ( isOpenEvent ) ;
_interactionPanel . gameObject . SetActive ( isOpenEvent ) ;
}