C++ 편 - API 참조 문서
이 문서는 AIChatPlus 플러그인의 C++ API 참조를 제공하며, 모든 공개 클래스, 구조체, 열거형 및 주요 메서드에 대한 설명을 포함합니다.
목차
열거형
EAIChatPlus_ChatApiProvider
AI 채팅 API 제공자 열거.
enum class EAIChatPlus_ChatApiProvider : uint8
{
OpenAI, // OpenAI API
Azure, // Azure OpenAI API
Claude, // Anthropic Claude API
Gemini, // Google Gemini API
Ollama, // Ollama 로컬 서비스
클라마, // llama.cpp 직접 호출(더 이상 사용되지 않음)
CllamaServer // llama.cpp 서버 모드
};
EAIChatPlus_ImageApiProvider
이미지 생성 API 제공업체 열거.
enum class EAIChatPlus_ImageApiProvider : uint8
{
OpenAI, // OpenAI DALL-E
Azure // Azure OpenAI DALL-E
};
EAIChatPlus_ChatRole
메시지 역할 열거형.
enum class EAIChatPlus_ChatRole : uint8
{
시스템, // 시스템 명령(구형 모델)
사용자, // 사용자 메시지
어시스턴트, // AI 응답
개발자, // 개발자 명령어(o1+ 모델)
도구 // 도구 호출 결과
};
EAIChatPlus_ImageChatType
이미지 조작 유형 열거.
EAIChatPlus_JsonValueType
JSON 값 타입 열거형.
enum class EAIChatPlus_JsonValueType : uint8
{
없음, // 무효
Null, // 널값
문자열, // 문자열
번호, // 숫자
불린(Boolean), // 불리언
배열, // 어레이
오브젝트 // 객체
};
핵심 기반 클래스
UAIChatPlus_RequestBase
모든 요청의 기본 클래스(추상 클래스).
주요 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SendRequest() |
bool |
요청 전송 |
StopRequest() |
void |
요청 중지 |
Activate() |
void |
요청 객체 활성화 |
IsActivated() |
bool |
활성화 여부 확인 |
SetIsAutoDestroy(bool) |
void |
설정 완료 후 자동 소멸 |
위임:
| 위탁명 | 서명 | 설명 |
|---|---|---|
OnStartedListeners |
void() |
요청 시작 |
OnMessageListeners |
void(const FString&) |
스트리밍 메시지 수신 |
OnFinishedListeners |
void(const FAIChatPlus_PointerWrapper&) |
요청 완료 |
OnFailedListeners |
void(const FAIChatPlus_PointerWrapper&) |
요청 실패 |
UAIChatPlus_ChatRequestBase
채팅 요청 베이스 클래스, UAIChatPlus_RequestBase를 상속받습니다.
정적 팩토리 메서드:
// Provider별로 요청 생성하기
static UAIChatPlus_ChatRequestBase* CreateByApi(EAIChatPlus_ChatApiProvider InApiProvider);
static UAIChatPlus_ChatRequestBase* CreateByApiInWorld(EAIChatPlus_ChatApiProvider InApiProvider, const UObject* InWorldContext);
핵심 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetMessages(const TArray<FAIChatPlus_ChatRequestMessage>&) |
void |
메시지 목록 설정 |
GetFullUrl() |
FString |
전체 요청 URL 가져오기 |
GetModelText() |
FString |
모델 이름 가져오기 |
GetTokenUsageText() |
FString |
토큰 사용량 설명 가져오기 |
GetApiProvider() |
EAIChatPlus_ChatApiProvider |
API 프로바이더 유형 가져오기 |
UAIChatPlus_ImageRequestBase
이미지 요청 기본 클래스, UAIChatPlus_RequestBase를 상속받습니다.
정적 팩토리 메소드:
static UAIChatPlus_ImageRequestBase* CreateByApi(EAIChatPlus_ImageApiProvider InApiProvider);
static UAIChatPlus_ImageRequestBase* CreateByApiInWorld(EAIChatPlus_ImageApiProvider InApiProvider, const UObject* InWorldContext);
주요 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetPrompt(const FString&) |
void |
이미지 생성 프롬프트 설정 |
SetImages(const TArray<UAIChatPlus_Texture*>&) |
void |
입력 이미지 설정 (편집/변형) |
GetModelText() |
FString |
모델 이름 가져오기 |
GetStyleText() |
FString |
스타일 이름 가져오기 |
| 다음은 한국어로 번역된 내용입니다: |
| GetRevisedPrompt() | FString | 수정된 프롬프트 가져오기 |
| GetImageChatType() | FString | 이미지 작업 유형 가져오기 |
UAIChatPlus_ModelRequestBase
모델 목록 요청 기본 클래스, UAIChatPlus_RequestBase를 상속받습니다.
정적 팩터리 메서드:
static UAIChatPlus_ModelRequestBase* CreateByApi(EAIChatPlus_ChatApiProvider InApiProvider);
static UAIChatPlus_ModelRequestBase* CreateByApiInWorld(EAIChatPlus_ChatApiProvider InApiProvider, const UObject* InWorldContext);
핸들러 클래스
UAIChatPlus_HandlerBase
모든 Handler의 기본 클래스입니다.
핵심 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetIsAutoDestroy(bool) |
void |
자동 소멸 설정 |
AutoDestroy() |
void |
자동으로 파괴를 실행 |
Destroy() |
void |
즉시 파괴 |
UAIChatPlus_ChatHandlerBase
채팅 요청 핸들러, UAIChatPlus_HandlerBase를 상속받음.
정적 팩토리 메소드:
바인딩 방법:
| 방법 | 설명 |
|---|---|
BindChatRequest(UAIChatPlus_ChatRequestBase*) |
채팅 요청 바인딩 |
BindImageRequest(UAIChatPlus_ImageRequestBase*) |
이미지 요청 바인딩 |
BindModelRequest(UAIChatPlus_ModelRequestBase*) |
모델 요청 바인딩 |
ClearDelegates() |
모든 델리게이트 바인딩을 제거합니다 |
위탁:
| 위임명 | 서명 | 설명 |
|---|---|---|
OnStarted |
void() |
요청 시작 |
OnStopped |
void() |
정지 요청 |
OnMessage |
void(const FString&) |
스트리밍 메시지 |
OnMessageFinished |
void(const FAIChatPlus_MessageFinishedPayload&) |
메시지 완료 |
OnUpdated |
void(const FAIChatPlus_PointerWrapper&) |
업데이트 요청 |
OnFinished |
void(const FAIChatPlus_PointerWrapper&) |
요청 완료 |
OnFailed |
void(const FAIChatPlus_PointerWrapper&) |
요청 실패 |
OnImages |
void(const TArray<UTexture2D*>&, bool) |
이미지 생성 |
OnModels |
void(const TArray<FString>&) |
모델 목록 |
UAIChatPlus_CllamaServerHandler
CllamaServer 전용 핸들러.
정적 팩토리 메서드:
위탁:
| 위임명 | 서명 | 설명 |
|---|---|---|
OnServerStarted |
void(FGuid) |
서버 시작됨 |
OnServerStopped |
void(FGuid) |
서버 중지 |
OnServerFailed |
void(FGuid, const FString&) |
서버 실패 |
요청(Request) 클래스
모든 Provider의 Request 클래스는 동일한 팩토리 메소드 패턴을 따릅니다:
일반적인 팩토리 메서드 패턴
// OpenAI를 예로 들면, 다른 Provider도 유사합니다
static UAIChatPlus_OpenAIChatRequest* Create();
static UAIChatPlus_OpenAIChatRequest* CreateWithOptions(const FAIChatPlus_OpenAIChatRequestOptions& InOptions);
static UAIChatPlus_OpenAIChatRequest* CreateWithOptionsAndMessages(
const FAIChatPlus_OpenAIChatRequestOptions& InOptions,
const TArray<FAIChatPlus_ChatRequestMessage>& InMessages);
static UAIChatPlus_OpenAIChatRequest* CreateInWorld(const UObject* InWorldContext);
static UAIChatPlus_OpenAIChatRequest* CreateInWorldWithOptions(
const UObject* InWorldContext,
const FAIChatPlus_OpenAIChatRequestOptions& InOptions);
static UAIChatPlus_OpenAIChatRequest* CreateInWorldWithOptionsAndMessages(
const UObject* InWorldContext,
const FAIChatPlus_OpenAIChatRequestOptions& InOptions,
const TArray<FAIChatPlus_ChatRequestMessage>& InMessages);
일반 정적 메소드
모든 Request 클래스는 타입 변환을 위해 CastWrapperToResponse 메서드를 제공합니다:
// PointerWrapper에서 응답 데이터 추출
static FAIChatPlus_XXXResponseBody& CastWrapperToResponse(const FAIChatPlus_PointerWrapper& InWrapper);
static FAIChatPlus_PointerWrapper CastResponseToWrapper(const FAIChatPlus_XXXResponseBody& InResponse);
UAIChatPlus_OpenAIChatRequest
OpenAI 채팅 요청.
헤더 파일: Common_OpenAI/AIChatPlus_OpenAIChatRequest.h
옵션 타입: FAIChatPlus_OpenAIChatRequestOptions
응답 유형: FAIChatPlus_OpenAIChatResponseBody
UAIChatPlus_AzureChatRequest
Azure OpenAI 채팅 요청.
헤더 파일: Common_Azure/AIChatPlus_AzureChatRequest.h
옵션 유형: FAIChatPlus_AzureChatRequestOptions
응답 유형: FAIChatPlus_AzureChatResponseBody
UAIChatPlus_ClaudeChatRequest
클로드 채팅 요청.
헤더 파일: Common_Claude/AIChatPlus_ClaudeChatRequest.h
옵션 유형: FAIChatPlus_ClaudeChatRequestOptions
응답 유형: FAIChatPlus_ClaudeChatResponseBody
UAIChatPlus_GeminiChatRequest
Gemini 채팅 요청.
헤더 파일: Common_Gemini/AIChatPlus_GeminiChatRequest.h
옵션 유형: FAIChatPlus_GeminiChatRequestOptions
응답 유형: FAIChatPlus_GeminiChatResponseBody
UAIChatPlus_OllamaChatRequest
Ollama 채팅 요청.
헤더 파일: Common_Ollama/AIChatPlus_OllamaChatRequest.h
옵션 유형: FAIChatPlus_OllamaChatRequestOptions
응답 유형: FAIChatPlus_OllamaChatResponseBody
UAIChatPlus_OllamaModelRequest
Ollama 모델 목록 요청.
헤더 파일: Common_Ollama/AIChatPlus_OllamaModelRequest.h
옵션 유형: FAIChatPlus_OllamaModelRequestOptions
응답 유형: FAIChatPlus_OllamaModelResponseBody
특유의 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
GetModelNames() |
TArray<FString> |
모델 이름 목록 가져오기 |
UAIChatPlus_CllamaChatRequest (더 이상 사용되지 않음)
Cllama 오프라인 채팅 요청 (더 이상 사용되지 않음, CllamaServer 사용을 권장합니다).
헤더 파일: Common_Cllama/AIChatPlus_CllamaChatRequest.h
옵션 유형: FAIChatPlus_CllamaChatRequestOptions
응답 유형: FAIChatPlus_CllamaChatResponseBody
UAIChatPlus_CllamaServerChatRequest
CllamaServer 채팅 요청.
헤더 파일: Common_CllamaServer/AIChatPlus_CllamaServerChatRequest.h
옵션 유형: FAIChatPlus_CllamaServerChatRequestOptions
응답 유형: FAIChatPlus_CllamaServerChatResponseBody
UAIChatPlus_OpenAIImageRequest
OpenAI 이미지 생성 요청.
헤더 파일: Common_OpenAI/AIChatPlus_OpenAIImageRequest.h
옵션 타입: FAIChatPlus_OpenAIImageRequestOptions
응답 유형: FAIChatPlus_OpenAIImageResponseBody
UAIChatPlus_AzureImageRequest
Azure 이미지 생성 요청.
헤더 파일: Common_Azure/AIChatPlus_AzureImageRequest.h
옵션 유형: FAIChatPlus_AzureImageRequestOptions
응답 유형: FAIChatPlus_AzureImageResponseBody
UAIChatPlus_CllamaServer
CllamaServer 서버 관리 클래스.
헤더 파일: Common_CllamaServer/AIChatPlus_CllamaServer.h
정적 팩토리 메서드:
static UAIChatPlus_CllamaServer* CreateServer(
const FAIChatPlus_CllamaServerParam& InParams,
FGuid InServerID = FGuid());
static UAIChatPlus_CllamaServer* CreateServerInWorld(
const UObject* InWorldContext,
const FAIChatPlus_CllamaServerParam& InParams,
FGuid InServerID = FGuid());
static UAIChatPlus_CllamaServer* CreateServerWithHandler(
const FAIChatPlus_CllamaServerParam& InParams,
UAIChatPlus_CllamaServerHandler* InHandler,
FGuid InServerID = FGuid());
인스턴스 메서드:
| 메서드 | 반환 유형 | 설명 |
|---|---|---|
Activate() |
void |
서버 시작 |
StopServer() |
void |
서버 중지 |
IsRunning() |
bool |
실행 중인지 확인 |
GetServerID() |
FGuid |
서버 ID 가져오기 |
GetHost() |
FString |
호스트 주소를 가져옵니다 |
GetAddress() |
FString |
전체 주소 가져오기 |
GetServerInfo(FAIChatPlus_CllamaServerInfo&) |
bool |
서버 정보 가져오기 |
정적 관리 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
IsServerValid(const FGuid&) |
bool |
서버가 유효한지 확인합니다 |
IsServerRunning(const FGuid&) |
bool |
서버가 실행 중인지 확인 |
StopServerByID(const FGuid&) |
void |
ID로 서버 중지 |
StopAllServers() |
void |
모든 서버 중지 |
GetServerByID(const FGuid&) |
UAIChatPlus_CllamaServer* |
ID로 서버 가져오기 |
GetAllServerIDs() |
TArray<FGuid> |
서버의 모든 ID 가져오기 |
유틸리티 클래스
UAIChatPlus_Util
범용 유틸리티 클래스로, 다양한 정적 지원 메소드를 제공합니다.
헤더 파일: Common/AIChatPlus_Util.h
로그 관련
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetInternalLogVerbosity(EAIChatPlus_LogVerbosityType) |
void |
내부 로그 레벨 설정 |
래퍼 변환
| 방법 | 반환 유형 | 설명 |
|---|---|---|
CastWrapperToError(const FAIChatPlus_PointerWrapper&) |
FAIChatPlus_ResponseErrorBase& |
에러 정보 추출 |
CastWrapperToResponse(const FAIChatPlus_PointerWrapper&) |
FAIChatPlus_ChatResponseBodyBase& |
응답 데이터 추출 |
GetErrorWrapperDescription(const FAIChatPlus_PointerWrapper&) |
FString |
에러 설명 가져오기 |
GetResponseWrapperMessage(const FAIChatPlus_PointerWrapper&) |
FString |
응답 메시지 가져오기 |
이미지 도구
| 방법 | 반환 유형 | 설명 |
|---|---|---|
LoadImage(const FString&, bool) |
UTexture2D* |
파일에서 이미지 로드 |
SaveImage(UTexture2D*, const FString&) |
bool |
이미지를 파일로 저장 |
ImageToB64(UTexture2D*, int32) |
FString |
이미지를 Base64로 변환 |
CopyTexture2D(UTexture2D*, UObject*, FName, EObjectFlags) |
UTexture2D* |
텍스처 복사 |
FitImageSize(const FVector2D&, const FVector2D&) |
FVector2D |
적절한 크기 계산하기 |
CopyTexture2DToClipboard(UTexture2D*) |
void |
클립보드로 복사하기 |
IsCanCopyTexture2DToClipboard() |
bool |
지원 여부 확인 |
오디오 도구
| 방법 | 반환 유형 | 설명 |
|---|---|---|
LoadSoundWav(const FString&) |
USoundWave* |
파일에서 오디오 로드 |
SaveSoundWav(USoundWave*, const FString&) |
bool |
오디오를 파일로 저장 |
SoundToB64(USoundWave*) |
FString |
오디오를 Base64로 변환 |
CopySoundWave(const USoundWave*, UObject*, FName) |
USoundWave* |
사운드 웨이브 복사 |
WavDataToSoundWave(const TArray<uint8>&, bool, bool) |
USoundWave* |
WAV 데이터를 사운드웨이브로 변환 |
GetSoundWavePCMData(USoundWave*) |
TArray<uint8> |
PCM 데이터 가져오기 |
JSON 도구
| 방법 | 반환 유형 | 설명 |
|---|---|---|
MergeJsonObjects(const FString&, const FString&) |
FString |
JSON 문자열 합치기 |
LoadJsonString(const FString&) |
TSharedPtr<FJsonObject> |
JSON 문자열 파싱 |
ToJsonString(const TSharedPtr<FJsonObject>&) |
FString |
JSON 문자열로 변환 |
Cllama 도구
| 방법 | 반환 유형 | 설명 |
|---|---|---|
Cllama_IsValid() |
bool |
Cllama가 사용 가능한지 확인 |
Cllama_IsSupportGpu() |
bool |
GPU 지원 여부 확인 |
Cllama_GetSupportBackends() |
TArray<FString> |
지원되는 백엔드 목록 가져오기 |
Cllama_PrepareModelPathFromPak(const FString&) |
FString |
팩에서 모델 경로 준비하기 |
모델 정보
| 방법 | 반환 유형 | 설명 |
|---|---|---|
GetOpenAIChatDefaultModels() |
const TArray<FName>& |
OpenAI 기본 모델 목록 |
GetOpenAIChatModelInfo(const FString&) |
FAIChatPlus_ChatModelInfo |
OpenAI 모델 정보 가져오기 |
GetClaudeChatDefaultModels() |
const TArray<FName>& |
Claude 기본 모델 목록 |
GetClaudeChatModelInfo(const FString&) |
FAIChatPlus_ChatModelInfo |
클로드 모델 정보 가져오기 |
GetGeminiChatDefaultModels() |
const TArray<FName>& |
제미니 기본 모델 목록 |
GetGeminiChatModelInfo(const FString&) |
FAIChatPlus_ChatModelInfo |
Gemini 모델 정보 가져오기 |
UAIChatPlus_Texture
이미지 래핑 클래스, 비동기 로딩 및 Base64 변환을 지원합니다.
헤더 파일: Common/AIChatPlus_Texture.h
정적 팩토리 메서드:
static UAIChatPlus_Texture* New(UTexture2D* InTexture = nullptr, const FString& InSourcePath = "");
static UAIChatPlus_Texture* CreateInBlueprint(UObject* WorldContextObject, UTexture2D* InTexture);
방법:
| 메서드 | 반환 유형 | 설명 |
|---|---|---|
LoadFromFile(const FString&) |
bool |
파일로부터 로드 (동기 방식) |
LoadFromFileAsync(const FString&, Callback) |
FLoadingTaskType* |
파일에서 비동기적으로 불러오기 |
LoadFromAsset(UObject*, const FString&) |
bool |
에셋에서 로드(동기) |
LoadFromAssetAsync(UObject*, Callback, const FString&) |
FLoadingTaskType* |
에셋에서 로딩 (비동기) |
ToB64() |
const FString& |
Base64로 변환 (동기적) |
ToB64Async(Callback) |
FLoadingTaskType* |
Base64로 변환 (비동기) |
GetBrush(bool) |
const FSlateBrush* |
Slate 브러시 가져오기 |
GetBrushCopy(bool) |
FSlateBrush |
브러시 사본 얻기 |
GetSize() |
FIntVector2 |
크기 가져오기 |
GetSize2D() |
FVector2D |
크기 가져오기 (부동 소수점) |
IsValid() |
bool |
유효한지 확인 |
IsLoading() |
bool |
로딩 중인지 확인 |
Reset() |
void |
초기화 |
WaitLoadingComplete() |
void |
로딩 완료 대기 |
UAIChatPlus_Sound
오디오 래핑 클래스, 비동기 로딩과 Base64 변환을 지원합니다.
헤더 파일: Common/AIChatPlus_Sound.h
정적 팩토리 메서드:
static UAIChatPlus_Sound* New(USoundWave* InSound = nullptr, const FString& InSourcePath = "");
static UAIChatPlus_Sound* CreateInBlueprint(UObject* WorldContextObject, USoundWave* InSound);
방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
LoadFromFile(const FString&) |
bool |
파일에서 로드 (동기 방식) |
LoadFromFileAsync(const FString&, Callback) |
FLoadingTaskType* |
파일에서 불러오기(비동기) |
LoadFromAsset(UObject*, const FString&) |
bool |
에셋에서 로드 (동기화) |
LoadFromAssetAsync(UObject*, Callback, const FString&) |
FLoadingTaskType* |
에셋에서 로드 (비동기) |
ToB64() |
const FString& |
Base64로 변환 (동기화) |
ToB64Async(Callback) |
FLoadingTaskType* |
Base64로 변환 (비동기) |
IsValid() |
bool |
유효한지 확인 |
IsLoading() |
bool |
로딩 중인지 확인합니다 |
Reset() |
void |
초기화 |
WaitLoadingComplete() |
void |
로딩 완료 대기 |
PlayInEditor() |
void |
에디터에서 재생 |
JSON 클래스
UAIChatPlus_JsonObject
JSON 객체 래퍼 클래스.
헤더 파일: Common/Json/AIChatPlus_JsonObject.h
정적 팩토리 메소드:
static UAIChatPlus_JsonObject* Create();
static UAIChatPlus_JsonObject* Parse(const FString& JsonString, bool& bSuccess, FString& ErrorMessage);
static UAIChatPlus_JsonObject* FromStruct(const int32& Struct); // CustomThunk
필드 설정 메서드(체이닝 호출 지원):
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetStringField(const FString&, const FString&) |
UAIChatPlus_JsonObject* |
문자열 필드 설정 |
SetNumberField(const FString&, float) |
UAIChatPlus_JsonObject* |
숫자 필드 설정 |
SetIntegerField(const FString&, int32) |
UAIChatPlus_JsonObject* |
정수 필드 설정 |
SetBooleanField(const FString&, bool) |
UAIChatPlus_JsonObject* |
불리언 필드 설정 |
SetObjectField(const FString&, UAIChatPlus_JsonObject*) |
UAIChatPlus_JsonObject* |
오브젝트 필드 설정 |
SetArrayField(const FString&, UAIChatPlus_JsonArray*) |
UAIChatPlus_JsonObject* |
배열 필드 설정 |
SetNullField(const FString&) |
UAIChatPlus_JsonObject* |
빈 필드 설정 |
필드 가져오기 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
GetStringField(const FString&, const FString&, bool&) |
FString |
문자열 가져오기 |
GetNumberField(const FString&, float, bool&) |
float |
숫자 가져오기 |
GetIntegerField(const FString&, int32, bool&) |
int32 |
정수 가져오기 |
GetBooleanField(const FString&, bool, bool&) |
bool |
불리언 값 가져오기 |
GetObjectField(const FString&, bool&) |
UAIChatPlus_JsonObject* |
객체 가져오기 |
GetArrayField(const FString&, bool&) |
UAIChatPlus_JsonArray* |
배열 가져오기 |
기타 방법:
| 방식 | 반환 유형 | 설명 |
|---|---|---|
HasField(const FString&) |
bool |
필드 존재 여부 확인 |
GetFieldType(const FString&) |
EAIChatPlus_JsonValueType |
필드 타입 가져오기 |
RemoveField(const FString&) |
UAIChatPlus_JsonObject* |
필드 제거 |
Clear() |
UAIChatPlus_JsonObject* |
모든 필드 비우기 |
ToString(bool) |
FString |
문자열로 변환 |
ToStruct(int32&) |
bool |
구조체로 변환 |
Merge(UAIChatPlus_JsonObject*, bool) |
UAIChatPlus_JsonObject* |
객체 병합 |
Duplicate() |
UAIChatPlus_JsonObject* |
객체 복사하기 |
IsValid() |
bool |
유효성 검사 |
경로 조회 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
SetStringByPath(const FString&, const FString&, const FAIChatPlus_JsonPathOptions&) |
UAIChatPlus_JsonObject* |
경로로 문자열 설정 |
GetStringByPath(const FString&, const FString&, FAIChatPlus_JsonQueryResult&) |
FString |
경로로 문자열 가져오기 |
UAIChatPlus_JsonArray
JSON 배열 래퍼 클래스.
헤더 파일: Common/Json/AIChatPlus_JsonArray.h
정적 팩토리 메소드:
static UAIChatPlus_JsonArray* Create();
static UAIChatPlus_JsonArray* Parse(const FString& JsonString, bool& bSuccess, FString& ErrorMessage);
static UAIChatPlus_JsonArray* FromStringArray(const TArray<FString>& Values);
static UAIChatPlus_JsonArray* FromIntegerArray(const TArray<int32>& Values);
요소 추가 방법 (체이닝 호출 지원):
| 방법 | 반환 형식 | 설명 |
|---|---|---|
AddString(const FString&) |
UAIChatPlus_JsonArray* |
문자열 추가 |
AddNumber(float) |
UAIChatPlus_JsonArray* |
숫자 추가 |
AddInteger(int32) |
UAIChatPlus_JsonArray* |
정수 추가 |
AddBoolean(bool) |
UAIChatPlus_JsonArray* |
불리언 값 추가 |
AddObject(UAIChatPlus_JsonObject*) |
UAIChatPlus_JsonArray* |
객체 추가 |
AddArray(UAIChatPlus_JsonArray*) |
UAIChatPlus_JsonArray* |
배열 추가 |
AddNull() |
UAIChatPlus_JsonArray* |
빈 값 추가 |
요소 가져오는 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
| ------ | --------- | ------ |
GetString(int32, const FString&, bool&) |
FString |
문자열 가져오기 |
GetNumber(int32, float, bool&) |
float |
숫자 가져오기 |
GetInteger(int32, int32, bool&) |
int32 |
정수 가져오기 |
GetBoolean(int32, bool, bool&) |
bool |
부울 값 가져오기 |
GetObject(int32, bool&) |
UAIChatPlus_JsonObject* |
객체 가져오기 |
GetArray(int32, bool&) |
UAIChatPlus_JsonArray* |
배열 가져오기 |
다른 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
Length() |
int32 |
길이 조회 |
GetElementType(int32) |
EAIChatPlus_JsonValueType |
요소 타입 가져오기 |
SetString(int32, const FString&, bool&) |
UAIChatPlus_JsonArray* |
문자열 설정 |
SetObject(int32, UAIChatPlus_JsonObject*, bool&) |
UAIChatPlus_JsonArray* |
객체 설정 |
RemoveAt(int32, bool&) |
UAIChatPlus_JsonArray* |
요소 제거 |
Clear() |
UAIChatPlus_JsonArray* |
배열 비우기 |
ToString(bool) |
FString |
문자열로 변환 |
Duplicate() |
UAIChatPlus_JsonArray* |
배열 복사 |
IsValid() |
bool |
유효성 확인 |
UAIChatPlus_JsonLibrary
JSON 정적 유틸리티 라이브러리.
헤더 파일: Common/Json/AIChatPlus_JsonLibrary.h
생성 방법:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
MakeJsonObjectWithStringField(const FString&, const FString&) |
UAIChatPlus_JsonObject* |
단일 필드 객체 생성 |
MakeJsonObjectFromStringMap(const TMap<FString, FString>&) |
UAIChatPlus_JsonObject* |
Map에서 객체 생성 |
검증 방법:
| 방법 | 반환 타입 | 설명 |
|---|---|---|
ValidateJsonString(const FString&, FString&) |
bool |
JSON 문자열 유효성 검사 |
| 다음은 번역된 텍스트입니다: |
| IsJsonObject(const FString&) | bool | 객체인지 확인 |
| IsJsonArray(const FString&) | bool | 배열인지 확인 |
포맷 방법:
| 방식 | 반환 유형 | 설명 |
|---|---|---|
PrettifyJson(const FString&) |
FString |
JSON 예쁘게 출력하기 |
MinifyJson(const FString&) |
FString |
JSON 압축 |
구조체 변환(CustomThunk):
| 메소드 | 반환 유형 | 설명 |
|---|---|---|
JsonStringToStruct(const FString&, int32&) |
bool |
JSON을 구조체로 변환 |
StructToJsonString(const int32&, bool) |
FString |
구조체를 JSON으로 변환 |
파일 작업:
| 방법 | 반환 유형 | 설명 |
|---|---|---|
LoadJsonObjectFromFile(const FString&, bool&, FString&) |
UAIChatPlus_JsonObject* |
파일에서 객체 불러오기 |
SaveJsonObjectToFile(UAIChatPlus_JsonObject*, const FString&, bool, FString&) |
bool |
객체를 파일에 저장 |
LoadJsonArrayFromFile(const FString&, bool&, FString&) |
UAIChatPlus_JsonArray* |
파일에서 배열 로드하기 |
SaveJsonArrayToFile(UAIChatPlus_JsonArray*, const FString&, bool, FString&) |
bool |
배열을 파일에 저장 |
비교 방법:
| 메소드 | 반환 형식 | 설명 |
|---|---|---|
EqualsJsonObject(UAIChatPlus_JsonObject*, UAIChatPlus_JsonObject*) |
bool |
객체 비교 |
EqualsJsonArray(UAIChatPlus_JsonArray*, UAIChatPlus_JsonArray*) |
bool |
배열 비교 |
경로 조회:
| 메서드 | 반환 유형 | 설명 |
|---|---|---|
QueryStringByPath(UAIChatPlus_JsonObject*, const FString&, const FString&, FAIChatPlus_JsonQueryResult&) |
FString |
경로로 문자열 조회하기 |
QueryObjectByPath(UAIChatPlus_JsonObject*, const FString&, FAIChatPlus_JsonQueryResult&) |
UAIChatPlus_JsonObject* |
경로별 객체 조회 |
QueryArrayByPath(UAIChatPlus_JsonObject*, const FString&, FAIChatPlus_JsonQueryResult&) |
UAIChatPlus_JsonArray* |
경로를 따라 배열 조회하기 |
Original: https://wiki.disenone.site/ko
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
이 게시물은 ChatGPT로 번역되었습니다. 피드백누락된 부분을 지적합니다.