Skip to content

Commit ff3ace7

Browse files
committed
fix: send string instead
1 parent 65df959 commit ff3ace7

File tree

7 files changed

+29
-13
lines changed

7 files changed

+29
-13
lines changed

Assets/PlayroomKit/PlayroomKit.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,12 @@ public void OpenDiscordInviteDialog(Action callback = null)
355355
_playroomService.OpenDiscordInviteDialog(callback);
356356
}
357357

358+
public void OpenDiscordExternalLink(string url, Action<string> callback = null)
359+
{
360+
CheckPlayRoomInitialized();
361+
_playroomService.OpenDiscordExternalLink(url, callback);
362+
}
363+
358364
public void StartDiscordPurchase(string skuId, Action<string> responseCallback, Action<string> onError = null)
359365
{
360366
CheckPlayRoomInitialized();

Assets/PlayroomKit/modules/Interfaces/IPlayroomBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void InsertCoin(InitOptions options = null, Action onLaunchCallBack = nul
7373

7474
#region Discord
7575
public void OpenDiscordInviteDialog(Action callback = null);
76-
public void OpenDiscordExternalLink(string url, Action<bool> callback = null);
76+
public void OpenDiscordExternalLink(string url, Action<string> callback = null);
7777
public void StartDiscordPurchase(string skuId, Action<string> callback, Action<string> onError = null);
7878
public void GetDiscordSkus(Action<List<DiscordSku>> callback);
7979
public void GetDiscordEntitlements(Action<List<DiscordEntitlement>> callback);

Assets/PlayroomKit/modules/MockMode/BrowserMode/BrowserMockService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,10 +349,10 @@ public void SubscribeDiscordEvent(SDKEvent eventName, Action<string> callback)
349349
DebugLogger.LogWarning("[MockMode] Discord events only work inside discord!");
350350
}
351351

352-
public void OpenDiscordExternalLink(string url, Action<bool> callback = null)
352+
public void OpenDiscordExternalLink(string url, Action<string> callback = null)
353353
{
354354
DebugLogger.LogWarning("[MockMode] Discord external link is currently not supported in browser mock mode!");
355-
callback?.Invoke(true);
355+
callback?.Invoke("true");
356356
}
357357
#endregion
358358
}

Assets/PlayroomKit/modules/MockMode/LocalPlayroomService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,10 +249,10 @@ public void SubscribeDiscordEvent(SDKEvent eventName, Action<string> callback)
249249
DebugLogger.LogWarning("[MockMode] Discord events only work inside discord!");
250250
}
251251

252-
public void OpenDiscordExternalLink(string url, Action<bool> callback = null)
252+
public void OpenDiscordExternalLink(string url, Action<string> callback = null)
253253
{
254254
DebugLogger.LogWarning("[MockMode] Discord external link is currently not supported in local mode!");
255-
callback?.Invoke(true);
255+
callback?.Invoke("true");
256256
}
257257
#endregion
258258
}

Assets/PlayroomKit/modules/PlayroomBuildService.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ public void OpenDiscordInviteDialog(Action callback = null)
440440
_interop.OpenDiscordInviteDialogInternalWrapper(OpenDiscordInviteDialogCallbackInvoker);
441441
}
442442

443-
public void OpenDiscordExternalLink(string url, Action<bool> callback = null)
443+
public void OpenDiscordExternalLink(string url, Action<string> callback = null)
444444
{
445445
CheckPlayRoomInitialized();
446446
CallbackManager.RegisterCallback(callback, "discordExternalLink");
@@ -450,8 +450,7 @@ public void OpenDiscordExternalLink(string url, Action<bool> callback = null)
450450
[MonoPInvokeCallback(typeof(Action<string>))]
451451
private static void InvokeOpenDiscordExternalLinkCallback(string openedString)
452452
{
453-
bool opened = bool.TryParse(openedString, out bool result) && result;
454-
CallbackManager.InvokeCallback("discordExternalLink", opened);
453+
CallbackManager.InvokeCallback("discordExternalLink", openedString);
455454
}
456455

457456
[MonoPInvokeCallback(typeof(Action<string, string>))]

Assets/PlayroomKit/src/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,11 +1122,13 @@ mergeInto(LibraryManager.library, {
11221122
return;
11231123
}
11241124

1125-
Playroom.getDiscordClient().commands.openExternalLink(UTF8ToString(url))
1125+
Playroom.getDiscordClient().commands.openExternalLink({url: UTF8ToString(url)})
11261126
.then((opened) => {
1127-
var returnData = _ConvertString(opened.toString());
1128-
console.log("Discord external link opened successfully: " + opened);
1127+
if (opened == null) {
1128+
opened = ""
1129+
}
11291130

1131+
var returnData = _ConvertString(JSON.stringify(opened));
11301132
{{{ makeDynCall('vi', 'callback') }}}(returnData)
11311133
})
11321134
.catch((error) => {

Assets/Scripts/GameManager.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,19 @@ private void Update()
207207

208208
if (Input.GetKeyDown(KeyCode.Z))
209209
{
210-
string nullString = null;
211-
int length = nullString.Length; // This will throw a NullReferenceException
210+
playroomKit.OpenDiscordExternalLink("https://github.com/momintlh", (success) =>
211+
{
212+
text.text = success;
213+
});
212214
}
213215

216+
if (Input.GetKeyDown(KeyCode.I))
217+
{
218+
playroomKit.OpenDiscordExternalLink("https://discord.gg/9s5jfcgQ6P", (success) =>
219+
{
220+
text.text = success;
221+
});
222+
}
214223

215224
}
216225
#endregion

0 commit comments

Comments
 (0)