#include <GameStateSystemComponent.h>
Inherits AZ::Component, AZ::TickBus::Handler, and GameStateRequestBus::Handler.
Public Member Functions | |
| AZ_COMPONENT (GameStateSystemComponent, "{03A10E41-3339-42C1-A6C8-A81327CB034B}") | |
Protected Member Functions | |
| void | Activate () override | 
| AZ::Component::Activate  | |
| void | Deactivate () override | 
| AZ::Component::Deactivate  | |
| int | GetTickOrder () override | 
| AZ::TickEvents::GetTickOrder  | |
| void | OnTick (float deltaTime, AZ::ScriptTimePoint scriptTimePoint) override | 
| AZ::TickEvents::OnTick  | |
| void | UpdateActiveGameState () override | 
| GameState::GameStateRequests::UpdateActiveGameState  | |
| AZStd::shared_ptr< IGameState > | GetActiveGameState () override | 
| GameState::GameStateRequests::GetActiveGameState  | |
| bool | PushGameState (AZStd::shared_ptr< IGameState > newGameState) override | 
| GameState::GameStateRequests::PushGameState  | |
| bool | PopActiveGameState () override | 
| GameState::GameStateRequests::PopActiveGameState  | |
| void | PopAllGameStates () override | 
| GameState::GameStateRequests::PopAllGameStates  | |
| bool | ReplaceActiveGameState (AZStd::shared_ptr< IGameState > newGameState) override | 
| GameState::GameStateRequests::ReplaceActiveGameState  | |
| bool | DoesStackContainGameStateOfTypeId (const AZ::TypeId &gameStateTypeId) override | 
| GameState::GameStateRequests::DoesStackContainGameStateOfTypeId  | |
| bool | AddGameStateFactoryOverrideForTypeId (const AZ::TypeId &gameStateTypeId, GameStateFactory factory) override | 
| GameState::GameStateRequests::AddGameStateFactoryOverrideForTypeId  | |
| bool | RemoveGameStateFactoryOverrideForTypeId (const AZ::TypeId &gameStateTypeId) override | 
| GameState::GameStateRequests::RemoveGameStateFactoryOverrideForTypeId  | |
| GameStateFactory | GetGameStateFactoryOverrideForTypeId (const AZ::TypeId &gameStateTypeId) override | 
| GameState::GameStateRequests::GetGameStateFactoryOverrideForTypeId  | |
This system component manages game state instances and the transitions between them. A few default game states are implemented in the GameStateSamples Gem, and these can be extended as needed in order to provide a custom experience for each game, but it's also possible to create completely new states by inheriting from the abstract GameState::IGameState class. States are managed using a stack (pushdown automaton) in order to maintain their history.