// Copyright Epic Games, Inc. All Rights Reserved. #include "LyraTeamCheats.h" #include "LyraTeamSubsystem.h" #include "Engine/World.h" #include "GameFramework/PlayerController.h" ////////////////////////////////////////////////////////////////////// // ULyraTeamCheats void ULyraTeamCheats::CycleTeam() { if (ULyraTeamSubsystem* TeamSubsystem = UWorld::GetSubsystem(GetWorld())) { APlayerController* PC = GetPlayerController(); const int32 OldTeamId = TeamSubsystem->FindTeamFromObject(PC); const TArray TeamIds = TeamSubsystem->GetTeamIDs(); if (TeamIds.Num()) { const int32 IndexOfOldTeam = TeamIds.Find(OldTeamId); const int32 IndexToUse = (IndexOfOldTeam + 1) % TeamIds.Num(); const int32 NewTeamId = TeamIds[IndexToUse]; TeamSubsystem->ChangeTeamForActor(PC, NewTeamId); } const int32 ActualNewTeamId = TeamSubsystem->FindTeamFromObject(PC); UE_LOG(LogConsoleResponse, Log, TEXT("Changed to team %d (from team %d)"), ActualNewTeamId, OldTeamId); } } void ULyraTeamCheats::SetTeam(int32 TeamID) { if (ULyraTeamSubsystem* TeamSubsystem = UWorld::GetSubsystem(GetWorld())) { if (TeamSubsystem->DoesTeamExist(TeamID)) { APlayerController* PC = GetPlayerController(); TeamSubsystem->ChangeTeamForActor(PC, TeamID); } } } void ULyraTeamCheats::ListTeams() { if (ULyraTeamSubsystem* TeamSubsystem = UWorld::GetSubsystem(GetWorld())) { const TArray TeamIDs = TeamSubsystem->GetTeamIDs(); for (const int32 TeamID : TeamIDs) { UE_LOG(LogConsoleResponse, Log, TEXT("Team ID %d"), TeamID); } } }