Commit fc490c21 authored by Geovanny Vera's avatar Geovanny Vera

Recycle instances and widges for clients side only

parent fe1266e3
...@@ -21,8 +21,8 @@ async function main(){ ...@@ -21,8 +21,8 @@ async function main(){
const ip = await publicIp.v4(); const ip = await publicIp.v4();
UE_CONFIG.ip = ip; UE_CONFIG.ip = ip;
//const api = 'https://api.ev3.me/'; const api = 'https://api.ev3.me/';
const api = 'http://localhost:1337/'; //const api = 'http://localhost:1337/';
const response = await fetch(`${api}instances/add-world-server`, { const response = await fetch(`${api}instances/add-world-server`, {
headers: { headers: {
......
...@@ -26,7 +26,7 @@ UHttpService* UHttpService::GetHttp() { ...@@ -26,7 +26,7 @@ UHttpService* UHttpService::GetHttp() {
void UHttpService::SetAuthToken(FString token) { void UHttpService::SetAuthToken(FString token) {
if (AuthToken.IsEmpty()) { if (AuthToken.IsEmpty()) {
UE_LOG(LogTemp, Log, TEXT("Kill me")); UE_LOG(LogTemp, Log, TEXT("asd me"));
} }
else { else {
UE_LOG(LogTemp, Log, TEXT("I don't know anymore")); UE_LOG(LogTemp, Log, TEXT("I don't know anymore"));
...@@ -69,8 +69,8 @@ void UHttpService::SetRequestHeaders(TSharedRef<IHttpRequest>& Request) { ...@@ -69,8 +69,8 @@ void UHttpService::SetRequestHeaders(TSharedRef<IHttpRequest>& Request) {
TSharedRef<IHttpRequest> UHttpService::RequestWithRoute(FString Subroute) { TSharedRef<IHttpRequest> UHttpService::RequestWithRoute(FString Subroute) {
// I have to set it here because for some reason if I set it on the constructor it becomes empty when it reaches here // I have to set it here because for some reason if I set it on the constructor it becomes empty when it reaches here
// TODO: Figure out why that happens and fix it to remove this line // TODO: Figure out why that happens and fix it to remove this line
//FString VRCAPIPath1 = FString(TEXT("https://api.ev3.me/")); FString VRCAPIPath1 = FString(TEXT("https://api.ev3.me/"));
FString VRCAPIPath1 = FString(TEXT("http://localhost:1337/")); //FString VRCAPIPath1 = FString(TEXT("http://localhost:1337/"));
Http = &FHttpModule::Get(); Http = &FHttpModule::Get();
TSharedRef<IHttpRequest> Request = Http->CreateRequest(); TSharedRef<IHttpRequest> Request = Http->CreateRequest();
......
...@@ -39,8 +39,7 @@ void AVRCGameMode::RemoveInstanceFromAPI(const FString& route, const FString& IP ...@@ -39,8 +39,7 @@ void AVRCGameMode::RemoveInstanceFromAPI(const FString& route, const FString& IP
void AVRCGameMode::OnRemoveInstanceFromAPI(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) { void AVRCGameMode::OnRemoveInstanceFromAPI(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) {
if (Http->ResponseIsValid(Response, bWasSuccessful)) { if (Http->ResponseIsValid(Response, bWasSuccessful)) {
UE_LOG(LogTemp, Log, TEXT("Shutting Down!")); NotifyRemoveInstanceFromAPI();
ShutDown();
} }
else { else {
UE_LOG(LogTemp, Error, TEXT("OnRemoveInstanceFromAPI Error removing from API!")); UE_LOG(LogTemp, Error, TEXT("OnRemoveInstanceFromAPI Error removing from API!"));
......
...@@ -15,7 +15,7 @@ void AVRCPlayerController::TravelToMap(const FString& URL, const bool SeamlessTr ...@@ -15,7 +15,7 @@ void AVRCPlayerController::TravelToMap(const FString& URL, const bool SeamlessTr
ClientTravel(URL, TRAVEL_Absolute, false, FGuid()); ClientTravel(URL, TRAVEL_Absolute, false, FGuid());
} }
void AVRCPlayerController::ConnectToCampus() { void AVRCPlayerController::ConnectToHub() {
UVRCGameInstance* GameInstance = Cast<UVRCGameInstance>(GetWorld()->GetGameInstance()); UVRCGameInstance* GameInstance = Cast<UVRCGameInstance>(GetWorld()->GetGameInstance());
Http = GameInstance->GetHttpService(); Http = GameInstance->GetHttpService();
...@@ -24,7 +24,7 @@ void AVRCPlayerController::ConnectToCampus() { ...@@ -24,7 +24,7 @@ void AVRCPlayerController::ConnectToCampus() {
Http->SetTimeout(TravelTimeout); Http->SetTimeout(TravelTimeout);
TSharedRef<IHttpRequest> Request = Http->GetRequest("instances/join-server"); TSharedRef<IHttpRequest> Request = Http->GetRequest("instances/join-server");
Request->OnProcessRequestComplete().BindUObject(this, &AVRCPlayerController::OnConnectToCampusResponseRecieved); Request->OnProcessRequestComplete().BindUObject(this, &AVRCPlayerController::OnConnectToHubResponseRecieved);
Request->SetHeader("Accepts", TEXT("application/json")); Request->SetHeader("Accepts", TEXT("application/json"));
FString auth = "Bearer "; FString auth = "Bearer ";
...@@ -34,7 +34,7 @@ void AVRCPlayerController::ConnectToCampus() { ...@@ -34,7 +34,7 @@ void AVRCPlayerController::ConnectToCampus() {
Request->ProcessRequest(); Request->ProcessRequest();
} }
void AVRCPlayerController::OnConnectToCampusResponseRecieved(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) void AVRCPlayerController::OnConnectToHubResponseRecieved(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)
{ {
if (Http->ResponseIsValid(Response, bWasSuccessful)) { if (Http->ResponseIsValid(Response, bWasSuccessful)) {
TSharedPtr<FJsonObject> JsonObject; TSharedPtr<FJsonObject> JsonObject;
...@@ -46,17 +46,17 @@ void AVRCPlayerController::OnConnectToCampusResponseRecieved(FHttpRequestPtr Req ...@@ -46,17 +46,17 @@ void AVRCPlayerController::OnConnectToCampusResponseRecieved(FHttpRequestPtr Req
FString PORT = JsonObject->GetStringField("port"); FString PORT = JsonObject->GetStringField("port");
FString URL = IP + FString(TEXT(":")) + PORT.Left(4); FString URL = IP + FString(TEXT(":")) + PORT.Left(4);
UE_LOG(LogTemp, Log, TEXT("OnConnectToCampus IP is %s Port %s, Both"), *IP, *PORT, *URL); UE_LOG(LogTemp, Log, TEXT("OnConnectToHub IP is %s Port %s, Both"), *IP, *PORT, *URL);
TravelToMap(URL, false); TravelToMap(URL, true);
} }
else { else {
UE_LOG(LogTemp, Error, TEXT("OnConnectToCampus Server returned no data!")); UE_LOG(LogTemp, Error, TEXT("OnConnectToHub Server returned no data!"));
} }
} }
else { else {
UE_LOG(LogTemp, Error, TEXT("OnConnectToCampus Error accessing server!")); UE_LOG(LogTemp, Error, TEXT("OnConnectToHub Error accessing server!"));
} }
} }
...@@ -98,7 +98,7 @@ void AVRCPlayerController::OnConnectToMeetingResponseRecieved(FHttpRequestPtr Re ...@@ -98,7 +98,7 @@ void AVRCPlayerController::OnConnectToMeetingResponseRecieved(FHttpRequestPtr Re
FString URL = IP + FString(TEXT(":")) + PORT.Left(4); FString URL = IP + FString(TEXT(":")) + PORT.Left(4);
UE_LOG(LogTemp, Log, TEXT("OnConnectToMeeting IP is %s Port %s, Both"), *IP, *PORT, *URL); UE_LOG(LogTemp, Log, TEXT("OnConnectToMeeting IP is %s Port %s, Both"), *IP, *PORT, *URL);
TravelToMap(URL, false); TravelToMap(URL, true);
} }
else { else {
UE_LOG(LogTemp, Error, TEXT("OnConnectToMeeting Server returned no data!")); UE_LOG(LogTemp, Error, TEXT("OnConnectToMeeting Server returned no data!"));
......
...@@ -36,5 +36,8 @@ public: ...@@ -36,5 +36,8 @@ public:
void RemoveMeetingFromAPI(const FString& IP, const FString& PORT); void RemoveMeetingFromAPI(const FString& IP, const FString& PORT);
void OnRemoveInstanceFromAPI(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful); void OnRemoveInstanceFromAPI(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
UFUNCTION(BlueprintImplementableEvent, Category = "API")
void NotifyRemoveInstanceFromAPI();
}; };
...@@ -42,9 +42,9 @@ public: ...@@ -42,9 +42,9 @@ public:
void TravelToMap(const FString& URL, const bool SeamlessTravel); void TravelToMap(const FString& URL, const bool SeamlessTravel);
UFUNCTION(BlueprintCallable, Category = "Travel") UFUNCTION(BlueprintCallable, Category = "Travel")
void ConnectToCampus(); void ConnectToHub();
void OnConnectToCampusResponseRecieved(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful); void OnConnectToHubResponseRecieved(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful);
UFUNCTION(BlueprintCallable, Category = "Travel") UFUNCTION(BlueprintCallable, Category = "Travel")
void ConnectToMeeting(int32 MeetingId); void ConnectToMeeting(int32 MeetingId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment