CheatManager

¾ð¸®¾ó¿¡¼­ "~" Å°¸¦ ´­·¯ ÄÜ¼Ö ¸í·ÉÀ» »ç¿ë ÇÒ¼ö ÀÖ´Ù.
ÄÜ¼Ö ¸í·ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¿©·¯°¡Áö ÀÖÁö¸¸ ¿©±â¼­´Â CeatManager¿¡ ´ëÇؼ­ ¾Ë¾Æº»´Ù.

1. CheatManager Ŭ·¡½º »ý¼º
C++ ¸ðµç Ŭ·¡½º Ç¥½Ã üũÈÄ CheatManager¸¦ »ó¼ÓÇÑ MyCheatManager¸¦ ¸¸µç´Ù.

2. PlayerController¿¡ CheatManager µî·Ï
PlayerController°¡ ¾ø´Ù¸é PlayerController »ó¼ÓÇÑ Å¬·¡½º¸¦ »ý¼º ÇÑ´Ù.
CheatManager´Â PlayControllerÀÇ CheatClass¿¡ µî·ÏÇÑ´Ù.

#include "MyPlayerController.h"
#include "MyCheatManager.h"

AMyPlayerController::AMyPlayerController()
{
    CheatClass = UMyCheatManager::StaticClass();
}

3. GameMode¿¡ PlayerController µî·Ï
GameMode°¡ ¾ø´Ù¸é GameModeBase »ó¼ÓÇÑ Å¬·¡½º¸¦ »ý¼º ÇÑ´Ù.
PlayerController GameMode PlayerControllerClass µî·ÏÇÑ´Ù

#include "UmgListViewDemoGameModeBase.h"
#include "MyPlayerController.h"

AUmgListViewDemoGameModeBase::AUmgListViewDemoGameModeBase()
{
    PlayerControllerClass = AMyPlayerController::StaticClass();
}

4. Cheat ÇÔ¼ö Ãß°¡

TestMyLog ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù.
UFUNCTION(exec)·Î ÄÜ¼Ö ¸í·É¾î·Î µî·ÏÇÑ´Ù.

CheatManager.cpp
#include "CoreMinimal.h"
#include "GameFramework/CheatManager.h"
#include "MyCheatManager.generated.h"

UCLASS()
class UMGLISTVIEWDEMO_API UMyCheatManager : public UCheatManager
{
    GENERATED_BODY()

public:
    UFUNCTION(exec)
    void TestMyLog();
};

GameMode¸¦ »ó¼ÓÇÑ AUmgListViewDemoGameModeBaseŬ·¡½ºÀÇ TestMyLog ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

CheatManager.cpp
#include "MyCheatManager.h"
#include "MyPlayerController.h"
#include "Engine/World.h"
#include "UmgListViewDemoGameModeBase.h"

void UMyCheatManager::TestMyLog()
{
    const APlayerController* PlayerController = GetOuterAPlayerController();
    if (GetWorld())
    {
        AUmgListViewDemoGameModeBase* GameMode = Cast<AUmgListViewDemoGameModeBase>(GetWorld()->GetAuthGameMode());
        if (GameMode)
            GameMode->TestMyLog();
    }
}

Äֿܼ¡¼­ "TestMyLog"¸¦ ½ÇÇàÇؼ­ È®ÀÎ ÇÑ´Ù.


ÂüÁ¶)
UCheatManager
https://benui.ca/unreal/cheatmanager/
https://historia.co.jp/archives/839/

UCheatManager  GetOuterAPlayerController
https://qiita.com/EGJ-Ken_Kuwano/items/f15d26d3203cd190380f