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