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
57 lines
1.4 KiB
1 year ago
|
// 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();
|
||
|
}
|
||
|
|