The following RPC is working, but “OnSetTeam” never gets fired. Any idea why?
UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Replicated, ReplicatedUsing=OnSetTeam, Transient)
UTeam* Team;
UFUNCTION(BlueprintCallable, Server, Reliable, WithValidation, Category = "Empires|GameState")
void TryChooseTeam(AEmpiresPlayerState* Player, ETeamName TeamName);
void AEmpiresPlayerState::TryChooseTeam_Implementation(AEmpiresPlayerState* Player, ETeamName TeamName)
{
UTeam* Team = nullptr;
switch (TeamName)
{
case ETeamName::TN_BrenodiEmpire:
Team = UEmpiresFunctionLibrary::GetGameMode(this)->BrenodiEmpire;
break;
case ETeamName::TN_NorthernFaction:
Team = UEmpiresFunctionLibrary::GetGameMode(this)->NorthernFaction;
break;
case ETeamName::TN_None:
break;
default:
break;
}
Player->Team = Team;
}