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.
56 lines
1.4 KiB
56 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(); |
|
} |
|
|
|
|