Faction Subsystem
The Faction Subsystem is used as a Façade to the Faction Database and the Attitude Solver classes configured in the project.
These classes are not meant to be directly exposed as they mostly represent inner workings of system and instead, consumer objects such as the Faction Component or Faction Widget are meant to interact with this Subsystem instead.
Accessing the Subsystem
You can access the Faction Subsystem the same way you would access any other Subsystem in Unreal Engine: In Blueprints, you can request access to the Faction Subsystem and in C++, you would be able to retrieve it through the Game Instance.
// Sample retrieved from the Faction Component.
UNinjaFactionSubsystem* UNinjaFactionComponent::GetFactionSubsystem() const
{
return GetWorld()->GetGameInstance()->GetSubsystem<UNinjaFactionSubsystem>();
}
Faction Component
You can also access the subsystem from the Faction Component.
Available Functions
Function | Description |
---|---|
GetFactions |
Retrieves all Faction Data Assets provided by the Database. |
GetFaction |
Retrieves a specific Faction Data Asset. |
GetFactionComponent |
Retrieves the Faction Component from a member. |
GetReputationTiers |
Retrieves all Reputation Tiers provided by the Database. |
GetReputationTier |
Retrieves a specific Reputation Tier by Reputation. |
GetReputationTierByName |
Retrieves a specific Reputation Tier by its Unique Name. |
GetAttitude |
Determines an attitude between members, using the Solver. |