Skip to content

Commit fe39a72

Browse files
author
root
committed
Updated from pipeline, Version : 8.2.0
1 parent 21adeb7 commit fe39a72

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2448
-141
lines changed

.variables

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
export DO_UPDATE=true
22
export LEVEL=CRITICAL
33
export REPO_NAME=justice-unreal-sdk-plugin
4-
export WORKDIR=/tmp/pipelines/1901439484/432874549/
5-
export COMMIT_HASH=889ef75a8c2c9fcc128217d423a738a80356c1a8
6-
export GIT_HASH=889ef75a8c2c9fcc128217d423a738a80356c1a8
7-
export VERSION=8.1.0
8-
export REVISION_ID=8.1.0
4+
export WORKDIR=/tmp/pipelines/1938076190/440789852/
5+
export COMMIT_HASH=75e14ab0a6bde66b253c133d32d848f565bc8f6f
6+
export GIT_HASH=75e14ab0a6bde66b253c133d32d848f565bc8f6f
7+
export VERSION=8.2.0
8+
export REVISION_ID=8.2.0
99
10-
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDguMS4wIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='
10+
export COMMIT_MESSAGE_BASE64='Y2hvcmUocmVsZWFzZSk6IDguMi4wIC0gY29tbWl0ZWQgYW5kIHRhZ2dlZCBieSBKZW5raW5zCg=='

AccelByteUe4Sdk.uplugin

858 Bytes
Binary file not shown.

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5+
## [8.2.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/8.2.0%0D8.1.0) (2022-01-04)
6+
7+
8+
### Features
9+
10+
* **blueprint:** agreement blueprint api ([f2f67c8](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/f2f67c8d58e25bd17d0a687dce2ed84686f24997)), closes [#142](https://accelbyte.atlassian.net/browse/142)
11+
* **cloudsave:** added cloudsave blueprint from cloudsave api ([2625e87](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/2625e879d7e551f206a079f42db6b6a8fdd7e6fe))
12+
* **lobby:** add sub_game_mode in optional param struct for lobby SendStartMatchmaking. ([f282f9e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/f282f9eb204fb94fa035e1c4b934ab757861540f))
13+
* **reward:** add reward blueprint from reward api ([472d67b](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/472d67bc9988937ed4b36bc8be44232af1fc838f))
14+
* **SeasonPass:** add SeasonPass blueprint from SeasonPass api ([17f730e](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/17f730e0796eab0cc861ee67154a7e9a95b1d5f7))
15+
* **serverDSM:** Add the blueprint API along with the Server BP multiregistry ([5c3a47a](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/5c3a47a1b004c34aaaed42b72b82f22f899d2b9f))
16+
* **serverLobby:** add blueprint for serverLobby API ([ff213a8](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/ff213a8a24c905a45664180dd27ecdfa1dfd47cd))
17+
* **ServerMatchmaking:** add blueprint class and function for Dedicated Server Matchmaking API ([8d51d14](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8d51d140c1b85e730e0923c9edf9bff52d97f0df))
18+
* **serverOauth:** add blueprint class for ServerOAuth2 API ([0ec04ab](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/0ec04ab4a9d0105989e507a275bd8849eb4d1dea))
19+
20+
21+
### Bug Fixes
22+
23+
* **cloudsave blueprint:** fixed FJsonObjectWrapper not properly converted to FJsonObject ([8274eb6](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/8274eb66ace0dd6296b9473b70822ab32e512b20))
24+
* **deprecation:** change deprecation indicator from macro to log warning ([a36e3b4](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/a36e3b459dd69e43cb40553471dd61fa6f09180c))
25+
* **lobby:** fix lobby violation error when destroying lobby while websocket still have events in queue. ([7d878dc](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/7d878dc6666f3ae1b1a3ff824d8bf501242b00e1))
26+
* **reporting:** missing #include header file ([5d75ebf](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/5d75ebf32d982c90b902c0175b34cc22b98c735d))
27+
* **reward blueprint:** add missing macro class specifier ([9c03b87](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/9c03b87d25d635fc77e1c2a338db6f9d5f7950d2))
28+
29+
30+
### Reverts
31+
32+
* **agreement:** re-add agreement blueprint ([3fe8f3a](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/3fe8f3a75880e56301fc8c62ef348c21bbaea66e))
33+
34+
35+
### Refactors
36+
37+
* **cloudsave blueprint:** rename FDJsonObject to FDPayloadJsonObject to avoid confusion ([de136b7](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/de136b75318a0b2d4fc291b2a92aeaaa4f98b076))
38+
39+
40+
### Tests
41+
42+
* **lobby:** add set general lobby rate limit in lobby test setup. ([d9536fc](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/d9536fc029c2d807de22b0d4d53aabc146f20afc))
43+
* **user:** add additional admin function to create user for testing purpose ([820b5ae](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/commits/820b5aed72a9fb2ea8fc58224cbecf3e05d88d6e))
44+
545
## [8.1.0](https://bitbucket.org/accelbyte/justice-unreal-sdk-plugin/branches/compare/8.1.0%0D8.0.1) (2021-12-20)
646

747

Content/CompatibilityMap.json

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
11
{
22
"iam": {
3-
"minVersion": "4.9.0",
4-
"maxVersion": "4.9.0"
3+
"minVersion": "4.10.0",
4+
"maxVersion": "4.10.0"
55
},
66
"agreement": {
7-
"minVersion": "1.15.0",
8-
"maxVersion": "1.15.0"
7+
"minVersion": "1.15.1",
8+
"maxVersion": "1.15.1"
99
},
1010
"basic": {
11-
"minVersion": "1.28.0",
12-
"maxVersion": "1.28.0"
11+
"minVersion": "1.29.0",
12+
"maxVersion": "1.29.0"
1313
},
1414
"platform": {
15-
"minVersion": "3.39.0",
16-
"maxVersion": "3.39.0"
15+
"minVersion": "3.40.0",
16+
"maxVersion": "3.40.0"
1717
},
1818
"social": {
19-
"minVersion": "1.22.0",
20-
"maxVersion": "1.22.0"
19+
"minVersion": "1.22.1",
20+
"maxVersion": "1.22.1"
2121
},
2222
"leaderboard": {
23-
"minVersion": "2.11.0",
24-
"maxVersion": "2.11.0"
23+
"minVersion": "2.11.1",
24+
"maxVersion": "2.11.1"
2525
},
2626
"achievement": {
27-
"minVersion": "2.8.0",
28-
"maxVersion": "2.8.0"
27+
"minVersion": "2.8.1",
28+
"maxVersion": "2.8.1"
2929
},
3030
"cloudsave": {
31-
"minVersion": "1.9.1",
32-
"maxVersion": "1.9.1"
31+
"minVersion": "1.9.2",
32+
"maxVersion": "1.9.2"
3333
},
3434
"ugc": {
35-
"minVersion": "1.10.0",
36-
"maxVersion": "1.10.0"
35+
"minVersion": "1.10.1",
36+
"maxVersion": "1.10.1"
3737
},
3838
"lobby": {
39-
"minVersion": "2.6.0",
40-
"maxVersion": "2.6.0"
39+
"minVersion": "3.0.0",
40+
"maxVersion": "3.0.0"
4141
},
4242
"group": {
4343
"minVersion": "2.9.0",
@@ -48,8 +48,8 @@
4848
"maxVersion": "1.11.0"
4949
},
5050
"dsmcontroller": {
51-
"minVersion": "2.10.0",
52-
"maxVersion": "2.10.0"
51+
"minVersion": "2.11.0",
52+
"maxVersion": "2.11.0"
5353
},
5454
"game-telemetry": {
5555
"minVersion": "1.3.0",

Source/AccelByteUe4Sdk/Private/Api/AccelByteCloudStorageApi.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,10 @@ namespace Api
149149

150150
void CloudStorage::UpdateSlotMetadata(const FString& SlotId, const FString& FileName, const TArray<FString>& Tags, const FString& Label, const FString& CustomAttribute, const THandler<FAccelByteModelsSlot>& OnSuccess, FHttpRequestProgressDelegate OnProgress, const FErrorHandler& OnError)
151151
{
152+
FReport::LogDeprecated(
153+
FString(__FUNCTION__),
154+
TEXT("Use UpdateSlotMetadata(const FString&, const TArray<FString>& Tags, const FString& Label, const FString& CustomAttribute, const THandler<FAccelByteModelsSlot>& OnSuccess, FHttpRequestProgressDelegate OnProgress, const FErrorHandler& OnError) instead."));
155+
152156
UpdateSlotMetadata(SlotId, Tags, Label, CustomAttribute, OnSuccess, OnProgress, OnError);
153157
}
154158

Source/AccelByteUe4Sdk/Private/Api/AccelByteEntitlementApi.cpp

Lines changed: 12 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -318,105 +318,37 @@ void Entitlement::ConsumeUserEntitlement(FString const& EntitlementId, int32 con
318318
void Entitlement::CreateDistributionReceiver(FString const& ExtUserId, FAccelByteModelsAttributes const Attributes, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)
319319
{
320320
FReport::Log(FString(__FUNCTION__));
321+
FReport::LogDeprecated(FString(__FUNCTION__), "Platform Service version 3.4.0 and above doesn't support this anymore");
321322

322-
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
323-
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/entitlements/receivers/%s"), *SettingsRef.PlatformServerUrl, *CredentialsRef.GetNamespace(), *CredentialsRef.GetUserId(), *ExtUserId);
324-
325-
FAccelByteModelsDistributionAttributes DistributionAttributes;
326-
DistributionAttributes.Attributes = Attributes;
327-
328-
FString Verb = TEXT("POST");
329-
FString ContentType = TEXT("application/json");
330-
FString Accept = TEXT("application/json");
331-
FString Content;
332-
FJsonObjectConverter::UStructToJsonObjectString(DistributionAttributes, Content);
333-
334-
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
335-
Request->SetURL(Url);
336-
Request->SetHeader(TEXT("Authorization"), Authorization);
337-
Request->SetVerb(Verb);
338-
Request->SetHeader(TEXT("Content-Type"), ContentType);
339-
Request->SetHeader(TEXT("Accept"), Accept);
340-
Request->SetContentAsString(Content);
341-
342-
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
323+
OnError.ExecuteIfBound(410, TEXT("This feature is already removed."));
324+
return;
343325
}
344326

345327
void Entitlement::DeleteDistributionReceiver(FString const& ExtUserId, FString const& UserId, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)
346328
{
347329
FReport::Log(FString(__FUNCTION__));
330+
FReport::LogDeprecated(FString(__FUNCTION__), "Platform Service version 3.4.0 and above doesn't support this anymore");
348331

349-
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
350-
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/entitlements/receivers/%s"), *SettingsRef.PlatformServerUrl, *CredentialsRef.GetNamespace(), *UserId, *ExtUserId);
351-
352-
FString Verb = TEXT("DELETE");
353-
FString ContentType = TEXT("application/json");
354-
FString Accept = TEXT("application/json");
355-
356-
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
357-
Request->SetURL(Url);
358-
Request->SetHeader(TEXT("Authorization"), Authorization);
359-
Request->SetVerb(Verb);
360-
Request->SetHeader(TEXT("Content-Type"), ContentType);
361-
Request->SetHeader(TEXT("Accept"), Accept);
362-
363-
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
332+
OnError.ExecuteIfBound(410, TEXT("This feature is already removed."));
333+
return;
364334
}
365335

366336
void Entitlement::GetDistributionReceiver(FString const& PublisherNamespace, FString const& PublisherUserId, THandler<TArray<FAccelByteModelsDistributionReceiver>> const& OnSuccess, FErrorHandler const& OnError)
367337
{
368338
FReport::Log(FString(__FUNCTION__));
339+
FReport::LogDeprecated(FString(__FUNCTION__), "Platform Service version 3.4.0 and above doesn't support this anymore");
369340

370-
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
371-
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/entitlements/receivers"), *SettingsRef.PlatformServerUrl, *PublisherNamespace, *PublisherUserId);
372-
373-
FString Query = TEXT("");
374-
if (!CredentialsRef.GetNamespace().IsEmpty())
375-
{
376-
Query.Append(Query.IsEmpty() ? TEXT("") : TEXT("&"));
377-
Query.Append(FString::Printf(TEXT("targetNamespace=%s"), *CredentialsRef.GetNamespace()));
378-
}
379-
Url.Append(Query.IsEmpty() ? TEXT("") : FString::Printf(TEXT("?%s"),*Query));
380-
381-
FString Verb = TEXT("GET");
382-
FString ContentType = TEXT("application/json");
383-
FString Accept = TEXT("application/json");
384-
385-
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
386-
Request->SetURL(Url);
387-
Request->SetHeader(TEXT("Authorization"), Authorization);
388-
Request->SetVerb(Verb);
389-
Request->SetHeader(TEXT("Content-Type"), ContentType);
390-
Request->SetHeader(TEXT("Accept"), Accept);
391-
392-
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
341+
OnError.ExecuteIfBound(410, TEXT("This feature is already removed."));
342+
return;
393343
}
394344

395345
void Entitlement::UpdateDistributionReceiver(FString const& ExtUserId, FAccelByteModelsAttributes const Attributes, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)
396346
{
397347
FReport::Log(FString(__FUNCTION__));
348+
FReport::LogDeprecated(FString(__FUNCTION__), "Platform Service version 3.4.0 and above doesn't support this anymore");
398349

399-
FString Authorization = FString::Printf(TEXT("Bearer %s"), *CredentialsRef.GetAccessToken());
400-
FString Url = FString::Printf(TEXT("%s/public/namespaces/%s/users/%s/entitlements/receivers/%s"), *SettingsRef.PlatformServerUrl, *CredentialsRef.GetNamespace(), *CredentialsRef.GetUserId(), *ExtUserId);
401-
402-
FAccelByteModelsDistributionAttributes DistributionAttributes;
403-
DistributionAttributes.Attributes = Attributes;
404-
405-
FString Verb = TEXT("PUT");
406-
FString ContentType = TEXT("application/json");
407-
FString Accept = TEXT("application/json");
408-
FString Content;
409-
FJsonObjectConverter::UStructToJsonObjectString(DistributionAttributes, Content);
410-
411-
FHttpRequestPtr Request = FHttpModule::Get().CreateRequest();
412-
Request->SetURL(Url);
413-
Request->SetHeader(TEXT("Authorization"), Authorization);
414-
Request->SetVerb(Verb);
415-
Request->SetHeader(TEXT("Content-Type"), ContentType);
416-
Request->SetHeader(TEXT("Accept"), Accept);
417-
Request->SetContentAsString(Content);
418-
419-
HttpRef.ProcessRequest(Request, CreateHttpResultHandler(OnSuccess, OnError), FPlatformTime::Seconds());
350+
OnError.ExecuteIfBound(410, TEXT("This feature is already removed."));
351+
return;
420352
}
421353

422354
void Entitlement::SyncPlatformPurchase(EAccelBytePlatformSync PlatformType, FVoidHandler const& OnSuccess, FErrorHandler const& OnError)

Source/AccelByteUe4Sdk/Private/Api/AccelByteLobbyApi.cpp

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include "Core/IWebSocketFactory.h"
1515
#include "Core/FUnrealWebSocketFactory.h"
1616

17-
DECLARE_LOG_CATEGORY_EXTERN(LogAccelByteLobby, Log, All);
1817
DEFINE_LOG_CATEGORY(LogAccelByteLobby);
1918

2019
namespace AccelByte
@@ -424,15 +423,15 @@ void Lobby::Connect()
424423
}
425424
}
426425

427-
void Lobby::Disconnect()
426+
void Lobby::Disconnect(bool ForceCleanup)
428427
{
429428
FReport::Log(FString(__FUNCTION__));
430429

431430
ChannelSlug = "";
432431
Credentials.OnTokenRefreshed().Remove(RefreshTokenDelegate.GetHandle());
433432
if(WebSocket.IsValid())
434433
{
435-
WebSocket->Disconnect();
434+
WebSocket->Disconnect(ForceCleanup);
436435
}
437436

438437
if (GEngine) UE_LOG(LogAccelByteLobby, Display, TEXT("Disconnected"));
@@ -652,10 +651,10 @@ FString Lobby::SendGetOnlineFriendPresenceRequest()
652651
//-------------------------------------------------------------------------------------------------
653652
// Notification
654653
//-------------------------------------------------------------------------------------------------
655-
UE_DEPRECATED(4.25, "Lobby version 2.4.0 and above doesn't support this anymore")
656654
void Lobby::GetAllAsyncNotification()
657-
{
655+
{
658656
FReport::Log(FString(__FUNCTION__));
657+
FReport::LogDeprecated(FString(__FUNCTION__), TEXT("Lobby version 2.4.0 and above doesn't support this anymore"));
659658

660659
if (WebSocket.IsValid() && WebSocket->IsConnected())
661660
{
@@ -731,10 +730,10 @@ FString Lobby::SendStartMatchmaking(const FString& GameMode, const FMatchmakingO
731730
{
732731
PartyAttribute.Add("new_session_only", "true");
733732
}
734-
733+
734+
FString partyAttributeSerialized = "";
735735
if (PartyAttribute.Num() > 0)
736736
{
737-
FString partyAttributeSerialized = "";
738737
TArray<FString> keys;
739738
PartyAttribute.GetKeys(keys);
740739
for (int i = 0 ; i < keys.Num() ; i++)
@@ -753,6 +752,31 @@ FString Lobby::SendStartMatchmaking(const FString& GameMode, const FMatchmakingO
753752
partyAttributeSerialized.Append(", ");
754753
}
755754
}
755+
}
756+
757+
if(OptionalParams.SubGameModes.Num() > 0)
758+
{
759+
// if there is party attribute already, prepend a comma
760+
if(PartyAttribute.Num() > 0)
761+
{
762+
partyAttributeSerialized.Append(", ");
763+
}
764+
765+
FString SubGameModeValue {"["};
766+
for(int i = 0; i < OptionalParams.SubGameModes.Num(); i++)
767+
{
768+
if(i > 0)
769+
SubGameModeValue.Append(", ");
770+
771+
SubGameModeValue.Append(FString::Printf(TEXT("\"%s\""), *OptionalParams.SubGameModes[i]));
772+
}
773+
SubGameModeValue.Append("]");
774+
775+
partyAttributeSerialized.Append(FString::Printf(TEXT("\"sub_game_mode\": %s"), *SubGameModeValue));
776+
}
777+
778+
if(!partyAttributeSerialized.IsEmpty())
779+
{
756780
Contents.Append(FString::Printf(TEXT("partyAttributes: {%s}\n"), *partyAttributeSerialized));
757781
}
758782

@@ -767,6 +791,7 @@ FString Lobby::SendStartMatchmaking(const FString& GameMode, const FMatchmakingO
767791
STempParty.Append(TEXT(","));
768792
}
769793
}
794+
770795
Contents.Append(FString::Printf(TEXT("tempParty: %s\n"), *STempParty));
771796
}
772797

@@ -983,6 +1008,9 @@ void Lobby::GetPartyStorage(const FString& PartyId, const THandler<FAccelByteMod
9831008
void Lobby::GetListOfBlockedUsers(const FString& UserId, const THandler<FAccelByteModelsListBlockedUserResponse> OnSuccess, const FErrorHandler& OnError)
9841009
{
9851010
FReport::Log(FString(__FUNCTION__));
1011+
FReport::LogDeprecated(
1012+
FString(__FUNCTION__),
1013+
TEXT("Please use GetListOfBlockedUsers(const THandler<FAccelByteModelsListBlockedUserResponse> OnSuccess, const FErrorHandler& OnError)"));
9861014

9871015
FString Authorization = FString::Printf(TEXT("Bearer %s"), *Credentials.GetAccessToken());
9881016
FString Url = FString::Printf(TEXT("%s/lobby/v1/public/player/namespaces/%s/users/%s/blocked"), *Settings.BaseUrl, *Credentials.GetNamespace(), *UserId);
@@ -1024,6 +1052,9 @@ void Lobby::GetListOfBlockedUsers(const THandler<FAccelByteModelsListBlockedUser
10241052
void Lobby::GetListOfBlockers(const FString& UserId, const THandler<FAccelByteModelsListBlockerResponse> OnSuccess, const FErrorHandler& OnError)
10251053
{
10261054
FReport::Log(FString(__FUNCTION__));
1055+
FReport::LogDeprecated(
1056+
FString(__FUNCTION__),
1057+
TEXT("please use GetListOfBlockers(const THandler<FAccelByteModelsListBlockerResponse> OnSuccess, const FErrorHandler& OnError)"));
10271058

10281059
FString Authorization = FString::Printf(TEXT("Bearer %s"), *Credentials.GetAccessToken());
10291060
FString Url = FString::Printf(TEXT("%s/lobby/v1/public/player/namespaces/%s/users/%s/blocked-by"), *Settings.BaseUrl, *Credentials.GetNamespace(), *UserId);
@@ -2052,7 +2083,7 @@ Lobby::~Lobby()
20522083
// only disconnect when engine is still valid
20532084
if(UObjectInitialized())
20542085
{
2055-
Disconnect();
2086+
Disconnect(true);
20562087
}
20572088
}
20582089

0 commit comments

Comments
 (0)