47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
#include "GameModes/LuckyRobotsGameState.h"
|
|
#include "SocketIOClientComponent.h"
|
|
#include "FunctionLibraries/LuckyRobotsFunctionLibrary.h"
|
|
#include "Core/LuckyRobotsGameInstance.h"
|
|
|
|
ALuckyRobotsGameState::ALuckyRobotsGameState()
|
|
{
|
|
SocketIOClientComponent = CreateDefaultSubobject<USocketIOClientComponent>(TEXT("SocketIOClientComponent"));
|
|
}
|
|
|
|
void ALuckyRobotsGameState::BeginPlay()
|
|
{
|
|
Super::BeginPlay();
|
|
if (SocketIOClientComponent)
|
|
{
|
|
SocketIOClientComponent->Connect(L"http://localhost:3000/");
|
|
}
|
|
}
|
|
|
|
void ALuckyRobotsGameState::DoSendMessage(FString SendValue)
|
|
{
|
|
if (SocketIOClientComponent && SocketIOClientComponent->bIsConnected)
|
|
{
|
|
USIOJsonValue* SIOJsonValue = USIOJsonValue::ConstructJsonValueString(this, SendValue);
|
|
SocketIOClientComponent->Emit(TEXT("message"), SIOJsonValue);
|
|
}
|
|
}
|
|
|
|
void ALuckyRobotsGameState::DoSocketOnConnect(FString SocketId, FString SessionId, bool IsReconnection)
|
|
{
|
|
if (SocketIOClientComponent && SocketIOClientComponent->bIsConnected)
|
|
{
|
|
SocketIOClientComponent->BindEventToGenericEvent(TEXT("response"));
|
|
}
|
|
}
|
|
|
|
void ALuckyRobotsGameState::DoSocketOnGenericEvent(FString EventName, USIOJsonValue* EventData)
|
|
{
|
|
if (ULuckyRobotsGameInstance* GameInstance = ULuckyRobotsFunctionLibrary::GetLuckyRobotsGameInstance(this))
|
|
{
|
|
GameInstance->DoGetDispatch(EventName, EventData);
|
|
}
|
|
}
|