#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.