You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.4 KiB

// Fill out your copyright notice in the Description page of Project Settings.
#include "ShipsGameInstance.h"
#include "WebSocketsModule.h"
#include "Engine/GameEngine.h"
void UShipsGameInstance::Init()
{
Super::Init();
if (!FModuleManager::Get().IsModuleLoaded("WebSockets"))
{
FModuleManager::Get().LoadModule("WebSockets");
}
WebSocket = FWebSocketsModule::Get().CreateWebSocket("ws://localhost:8080/ws");
WebSocket->OnConnected().AddLambda([]()
{
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Green, "Connected to the server");
});
WebSocket->OnConnectionError().AddLambda([](const FString& Error)
{
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Red, Error);
});
WebSocket->OnClosed().AddLambda([](int32 StatusCode, const FString& Reason, bool bWasClean)
{
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Yellow, "Connection was closed");
});
WebSocket->OnMessage().AddLambda([](const FString & MessageString)
{
UE_LOG(LogTemp,Warning, TEXT("Received Message:"));
});
GEngine->AddOnScreenDebugMessage(-1, 15.0f, FColor::Green, "init is happening");
WebSocket->Connect();
}
void UShipsGameInstance::Shutdown()
{
if (WebSocket->IsConnected())
{
WebSocket->Close();
}
Super::Shutdown();
}