diff --git a/.erp b/.erp
index 7386e91..d0700a8 100644
--- a/.erp
+++ b/.erp
@@ -5,7 +5,7 @@
false
false
true
- 1677518740
+ 1677527499
522683637854076046
false
\ No newline at end of file
diff --git a/Assets/ERP/Editor/ERP.cs b/Assets/ERP/Editor/ERP.cs
index f9bc556..b93d344 100644
--- a/Assets/ERP/Editor/ERP.cs
+++ b/Assets/ERP/Editor/ERP.cs
@@ -1,15 +1,11 @@
#if UNITY_EDITOR
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEditor.SceneManagement;
-using UnityEditor;
-using System.IO;
-using System.Threading.Tasks;
-using System.Threading;
using ERP.Discord;
+using System;
using System.Diagnostics;
+using System.Threading.Tasks;
+using UnityEditor;
+using UnityEditor.SceneManagement;
+using UnityEngine;
using Debug = UnityEngine.Debug;
namespace ERP
diff --git a/Assets/ERP/Editor/ERPSettings.cs b/Assets/ERP/Editor/ERPSettings.cs
index 6571ad2..d6ce9bf 100644
--- a/Assets/ERP/Editor/ERPSettings.cs
+++ b/Assets/ERP/Editor/ERPSettings.cs
@@ -1,11 +1,7 @@
#if UNITY_EDITOR
using System;
using System.IO;
-using System.Collections;
-using System.Collections.Generic;
-using System.Xml;
using System.Xml.Serialization;
-using UnityEngine;
namespace ERP
{
diff --git a/Assets/ERP/Editor/ERPWindow.cs b/Assets/ERP/Editor/ERPWindow.cs
index 67e5658..6538014 100644
--- a/Assets/ERP/Editor/ERPWindow.cs
+++ b/Assets/ERP/Editor/ERPWindow.cs
@@ -1,8 +1,6 @@
#if UNITY_EDITOR
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
using UnityEditor;
+using UnityEngine;
namespace ERP
{
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/ActivityManager.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/ActivityManager.cs
index 75c29c6..88ce1e3 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/ActivityManager.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/ActivityManager.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace ERP.Discord
+namespace ERP.Discord
{
public partial class ActivityManager
{
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/Constants.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/Constants.cs
index 5e91769..c3efcbb 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/Constants.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/Constants.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace ERP.Discord
+namespace ERP.Discord
{
static class Constants
{
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/Core.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/Core.cs
index 2840599..3e3ba68 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/Core.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/Core.cs
@@ -425,10 +425,10 @@ namespace ERP.Discord
internal delegate Result SetCapacityMethod(IntPtr methodsPtr, UInt32 capacity);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result SetMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key, [MarshalAs(UnmanagedType.LPStr)]string value);
+ internal delegate Result SetMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key, [MarshalAs(UnmanagedType.LPStr)] string value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result DeleteMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key);
+ internal delegate Result DeleteMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result SetLockedMethod(IntPtr methodsPtr, bool locked);
@@ -543,10 +543,10 @@ namespace ERP.Discord
internal partial struct FFIMethods
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result SetMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key, [MarshalAs(UnmanagedType.LPStr)]string value);
+ internal delegate Result SetMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key, [MarshalAs(UnmanagedType.LPStr)] string value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result DeleteMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key);
+ internal delegate Result DeleteMetadataMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key);
internal SetMetadataMethod SetMetadata;
@@ -602,10 +602,10 @@ namespace ERP.Discord
internal partial struct FFIMethods
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result FilterMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key, LobbySearchComparison comparison, LobbySearchCast cast, [MarshalAs(UnmanagedType.LPStr)]string value);
+ internal delegate Result FilterMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key, LobbySearchComparison comparison, LobbySearchCast cast, [MarshalAs(UnmanagedType.LPStr)] string value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result SortMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string key, LobbySearchCast cast, [MarshalAs(UnmanagedType.LPStr)]string value);
+ internal delegate Result SortMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string key, LobbySearchCast cast, [MarshalAs(UnmanagedType.LPStr)] string value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result LimitMethod(IntPtr methodsPtr, UInt32 limit);
@@ -715,7 +715,7 @@ namespace ERP.Discord
internal delegate Result RunCallbacksMethod(IntPtr methodsPtr);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void SetLogHookCallback(IntPtr ptr, LogLevel level, [MarshalAs(UnmanagedType.LPStr)]string message);
+ internal delegate void SetLogHookCallback(IntPtr ptr, LogLevel level, [MarshalAs(UnmanagedType.LPStr)] string message);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void SetLogHookMethod(IntPtr methodsPtr, LogLevel minLevel, IntPtr callbackData, SetLogHookCallback callback);
@@ -1041,8 +1041,9 @@ namespace ERP.Discord
Marshal.FreeHGlobal(StoreEventsPtr);
Marshal.FreeHGlobal(VoiceEventsPtr);
Marshal.FreeHGlobal(AchievementEventsPtr);
- if (setLogHook.HasValue) {
- setLogHook.Value.Free();
+ if (setLogHook.HasValue)
+ {
+ setLogHook.Value.Free();
}
}
@@ -1065,16 +1066,18 @@ namespace ERP.Discord
public void SetLogHook(LogLevel minLevel, SetLogHookHandler callback)
{
- if (setLogHook.HasValue) {
- setLogHook.Value.Free();
+ if (setLogHook.HasValue)
+ {
+ setLogHook.Value.Free();
}
- setLogHook = GCHandle.Alloc(callback);
+ setLogHook = GCHandle.Alloc(callback);
Methods.SetLogHook(MethodsPtr, minLevel, GCHandle.ToIntPtr(setLogHook.Value), SetLogHookCallbackImpl);
}
public ApplicationManager GetApplicationManager()
{
- if (ApplicationManagerInstance == null) {
+ if (ApplicationManagerInstance == null)
+ {
ApplicationManagerInstance = new ApplicationManager(
Methods.GetApplicationManager(MethodsPtr),
ApplicationEventsPtr,
@@ -1086,7 +1089,8 @@ namespace ERP.Discord
public UserManager GetUserManager()
{
- if (UserManagerInstance == null) {
+ if (UserManagerInstance == null)
+ {
UserManagerInstance = new UserManager(
Methods.GetUserManager(MethodsPtr),
UserEventsPtr,
@@ -1098,7 +1102,8 @@ namespace ERP.Discord
public ImageManager GetImageManager()
{
- if (ImageManagerInstance == null) {
+ if (ImageManagerInstance == null)
+ {
ImageManagerInstance = new ImageManager(
Methods.GetImageManager(MethodsPtr),
ImageEventsPtr,
@@ -1110,7 +1115,8 @@ namespace ERP.Discord
public ActivityManager GetActivityManager()
{
- if (ActivityManagerInstance == null) {
+ if (ActivityManagerInstance == null)
+ {
ActivityManagerInstance = new ActivityManager(
Methods.GetActivityManager(MethodsPtr),
ActivityEventsPtr,
@@ -1122,7 +1128,8 @@ namespace ERP.Discord
public RelationshipManager GetRelationshipManager()
{
- if (RelationshipManagerInstance == null) {
+ if (RelationshipManagerInstance == null)
+ {
RelationshipManagerInstance = new RelationshipManager(
Methods.GetRelationshipManager(MethodsPtr),
RelationshipEventsPtr,
@@ -1134,7 +1141,8 @@ namespace ERP.Discord
public LobbyManager GetLobbyManager()
{
- if (LobbyManagerInstance == null) {
+ if (LobbyManagerInstance == null)
+ {
LobbyManagerInstance = new LobbyManager(
Methods.GetLobbyManager(MethodsPtr),
LobbyEventsPtr,
@@ -1146,7 +1154,8 @@ namespace ERP.Discord
public NetworkManager GetNetworkManager()
{
- if (NetworkManagerInstance == null) {
+ if (NetworkManagerInstance == null)
+ {
NetworkManagerInstance = new NetworkManager(
Methods.GetNetworkManager(MethodsPtr),
NetworkEventsPtr,
@@ -1158,7 +1167,8 @@ namespace ERP.Discord
public OverlayManager GetOverlayManager()
{
- if (OverlayManagerInstance == null) {
+ if (OverlayManagerInstance == null)
+ {
OverlayManagerInstance = new OverlayManager(
Methods.GetOverlayManager(MethodsPtr),
OverlayEventsPtr,
@@ -1170,7 +1180,8 @@ namespace ERP.Discord
public StorageManager GetStorageManager()
{
- if (StorageManagerInstance == null) {
+ if (StorageManagerInstance == null)
+ {
StorageManagerInstance = new StorageManager(
Methods.GetStorageManager(MethodsPtr),
StorageEventsPtr,
@@ -1182,7 +1193,8 @@ namespace ERP.Discord
public StoreManager GetStoreManager()
{
- if (StoreManagerInstance == null) {
+ if (StoreManagerInstance == null)
+ {
StoreManagerInstance = new StoreManager(
Methods.GetStoreManager(MethodsPtr),
StoreEventsPtr,
@@ -1194,7 +1206,8 @@ namespace ERP.Discord
public VoiceManager GetVoiceManager()
{
- if (VoiceManagerInstance == null) {
+ if (VoiceManagerInstance == null)
+ {
VoiceManagerInstance = new VoiceManager(
Methods.GetVoiceManager(MethodsPtr),
VoiceEventsPtr,
@@ -1206,7 +1219,8 @@ namespace ERP.Discord
public AchievementManager GetAchievementManager()
{
- if (AchievementManagerInstance == null) {
+ if (AchievementManagerInstance == null)
+ {
AchievementManagerInstance = new AchievementManager(
Methods.GetAchievementManager(MethodsPtr),
AchievementEventsPtr,
@@ -1252,7 +1266,7 @@ namespace ERP.Discord
internal delegate void GetOAuth2TokenMethod(IntPtr methodsPtr, IntPtr callbackData, GetOAuth2TokenCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void GetTicketCallback(IntPtr ptr, Result result, [MarshalAs(UnmanagedType.LPStr)]ref string data);
+ internal delegate void GetTicketCallback(IntPtr ptr, Result result, [MarshalAs(UnmanagedType.LPStr)] ref string data);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void GetTicketMethod(IntPtr methodsPtr, IntPtr callbackData, GetTicketCallback callback);
@@ -1293,12 +1307,14 @@ namespace ERP.Discord
internal ApplicationManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -1431,12 +1447,14 @@ namespace ERP.Discord
internal UserManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -1558,12 +1576,14 @@ namespace ERP.Discord
internal ImageManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -1615,10 +1635,10 @@ namespace ERP.Discord
internal partial struct FFIEvents
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ActivityJoinHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)]string secret);
+ internal delegate void ActivityJoinHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)] string secret);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ActivitySpectateHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)]string secret);
+ internal delegate void ActivitySpectateHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)] string secret);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void ActivityJoinRequestHandler(IntPtr ptr, ref User user);
@@ -1639,7 +1659,7 @@ namespace ERP.Discord
internal partial struct FFIMethods
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result RegisterCommandMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string command);
+ internal delegate Result RegisterCommandMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string command);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result RegisterSteamMethod(IntPtr methodsPtr, UInt32 steamId);
@@ -1666,7 +1686,7 @@ namespace ERP.Discord
internal delegate void SendInviteCallback(IntPtr ptr, Result result);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void SendInviteMethod(IntPtr methodsPtr, Int64 userId, ActivityActionType type, [MarshalAs(UnmanagedType.LPStr)]string content, IntPtr callbackData, SendInviteCallback callback);
+ internal delegate void SendInviteMethod(IntPtr methodsPtr, Int64 userId, ActivityActionType type, [MarshalAs(UnmanagedType.LPStr)] string content, IntPtr callbackData, SendInviteCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void AcceptInviteCallback(IntPtr ptr, Result result);
@@ -1734,12 +1754,14 @@ namespace ERP.Discord
internal ActivityManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -1963,12 +1985,14 @@ namespace ERP.Discord
internal RelationshipManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -2131,13 +2155,13 @@ namespace ERP.Discord
internal delegate void ConnectLobbyCallback(IntPtr ptr, Result result, ref Lobby lobby);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ConnectLobbyMethod(IntPtr methodsPtr, Int64 lobbyId, [MarshalAs(UnmanagedType.LPStr)]string secret, IntPtr callbackData, ConnectLobbyCallback callback);
+ internal delegate void ConnectLobbyMethod(IntPtr methodsPtr, Int64 lobbyId, [MarshalAs(UnmanagedType.LPStr)] string secret, IntPtr callbackData, ConnectLobbyCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void ConnectLobbyWithActivitySecretCallback(IntPtr ptr, Result result, ref Lobby lobby);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ConnectLobbyWithActivitySecretMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string activitySecret, IntPtr callbackData, ConnectLobbyWithActivitySecretCallback callback);
+ internal delegate void ConnectLobbyWithActivitySecretMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string activitySecret, IntPtr callbackData, ConnectLobbyWithActivitySecretCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void DisconnectLobbyCallback(IntPtr ptr, Result result);
@@ -2152,7 +2176,7 @@ namespace ERP.Discord
internal delegate Result GetLobbyActivitySecretMethod(IntPtr methodsPtr, Int64 lobbyId, StringBuilder secret);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result GetLobbyMetadataValueMethod(IntPtr methodsPtr, Int64 lobbyId, [MarshalAs(UnmanagedType.LPStr)]string key, StringBuilder value);
+ internal delegate Result GetLobbyMetadataValueMethod(IntPtr methodsPtr, Int64 lobbyId, [MarshalAs(UnmanagedType.LPStr)] string key, StringBuilder value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result GetLobbyMetadataKeyMethod(IntPtr methodsPtr, Int64 lobbyId, Int32 index, StringBuilder key);
@@ -2170,7 +2194,7 @@ namespace ERP.Discord
internal delegate Result GetMemberUserMethod(IntPtr methodsPtr, Int64 lobbyId, Int64 userId, ref User user);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result GetMemberMetadataValueMethod(IntPtr methodsPtr, Int64 lobbyId, Int64 userId, [MarshalAs(UnmanagedType.LPStr)]string key, StringBuilder value);
+ internal delegate Result GetMemberMetadataValueMethod(IntPtr methodsPtr, Int64 lobbyId, Int64 userId, [MarshalAs(UnmanagedType.LPStr)] string key, StringBuilder value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result GetMemberMetadataKeyMethod(IntPtr methodsPtr, Int64 lobbyId, Int64 userId, Int32 index, StringBuilder key);
@@ -2372,12 +2396,14 @@ namespace ERP.Discord
internal LobbyManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -2894,7 +2920,7 @@ namespace ERP.Discord
internal delegate void MessageHandler(IntPtr ptr, UInt64 peerId, byte channelId, IntPtr dataPtr, Int32 dataLen);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void RouteUpdateHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)]string routeData);
+ internal delegate void RouteUpdateHandler(IntPtr ptr, [MarshalAs(UnmanagedType.LPStr)] string routeData);
internal MessageHandler OnMessage;
@@ -2911,10 +2937,10 @@ namespace ERP.Discord
internal delegate Result FlushMethod(IntPtr methodsPtr);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result OpenPeerMethod(IntPtr methodsPtr, UInt64 peerId, [MarshalAs(UnmanagedType.LPStr)]string routeData);
+ internal delegate Result OpenPeerMethod(IntPtr methodsPtr, UInt64 peerId, [MarshalAs(UnmanagedType.LPStr)] string routeData);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result UpdatePeerMethod(IntPtr methodsPtr, UInt64 peerId, [MarshalAs(UnmanagedType.LPStr)]string routeData);
+ internal delegate Result UpdatePeerMethod(IntPtr methodsPtr, UInt64 peerId, [MarshalAs(UnmanagedType.LPStr)] string routeData);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result ClosePeerMethod(IntPtr methodsPtr, UInt64 peerId);
@@ -2972,12 +2998,14 @@ namespace ERP.Discord
internal NetworkManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -3144,7 +3172,7 @@ namespace ERP.Discord
internal delegate void OpenGuildInviteCallback(IntPtr ptr, Result result);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void OpenGuildInviteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string code, IntPtr callbackData, OpenGuildInviteCallback callback);
+ internal delegate void OpenGuildInviteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string code, IntPtr callbackData, OpenGuildInviteCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void OpenVoiceSettingsCallback(IntPtr ptr, Result result);
@@ -3196,12 +3224,14 @@ namespace ERP.Discord
internal OverlayManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -3310,40 +3340,40 @@ namespace ERP.Discord
internal partial struct FFIMethods
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result ReadMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, byte[] data, Int32 dataLen, ref UInt32 read);
+ internal delegate Result ReadMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, byte[] data, Int32 dataLen, ref UInt32 read);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void ReadAsyncCallback(IntPtr ptr, Result result, IntPtr dataPtr, Int32 dataLen);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ReadAsyncMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, IntPtr callbackData, ReadAsyncCallback callback);
+ internal delegate void ReadAsyncMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, IntPtr callbackData, ReadAsyncCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void ReadAsyncPartialCallback(IntPtr ptr, Result result, IntPtr dataPtr, Int32 dataLen);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void ReadAsyncPartialMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, UInt64 offset, UInt64 length, IntPtr callbackData, ReadAsyncPartialCallback callback);
+ internal delegate void ReadAsyncPartialMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, UInt64 offset, UInt64 length, IntPtr callbackData, ReadAsyncPartialCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result WriteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, byte[] data, Int32 dataLen);
+ internal delegate Result WriteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, byte[] data, Int32 dataLen);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void WriteAsyncCallback(IntPtr ptr, Result result);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void WriteAsyncMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, byte[] data, Int32 dataLen, IntPtr callbackData, WriteAsyncCallback callback);
+ internal delegate void WriteAsyncMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, byte[] data, Int32 dataLen, IntPtr callbackData, WriteAsyncCallback callback);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result DeleteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name);
+ internal delegate Result DeleteMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result ExistsMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, ref bool exists);
+ internal delegate Result ExistsMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, ref bool exists);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void CountMethod(IntPtr methodsPtr, ref Int32 count);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate Result StatMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)]string name, ref FileStat stat);
+ internal delegate Result StatMethod(IntPtr methodsPtr, [MarshalAs(UnmanagedType.LPStr)] string name, ref FileStat stat);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate Result StatAtMethod(IntPtr methodsPtr, Int32 index, ref FileStat stat);
@@ -3399,12 +3429,14 @@ namespace ERP.Discord
internal StorageManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -3656,12 +3688,14 @@ namespace ERP.Discord
internal StoreManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -3903,12 +3937,14 @@ namespace ERP.Discord
internal VoiceManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
@@ -4110,12 +4146,14 @@ namespace ERP.Discord
internal AchievementManager(IntPtr ptr, IntPtr eventsPtr, ref FFIEvents events)
{
- if (eventsPtr == IntPtr.Zero) {
+ if (eventsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
InitEvents(eventsPtr, ref events);
MethodsPtr = ptr;
- if (MethodsPtr == IntPtr.Zero) {
+ if (MethodsPtr == IntPtr.Zero)
+ {
throw new ResultException(Result.InternalError);
}
}
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/ImageManager.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/ImageManager.cs
index d00cd4e..dbf431f 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/ImageManager.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/ImageManager.cs
@@ -1,12 +1,11 @@
using System;
-using System.Runtime.InteropServices;
#if UNITY_EDITOR || UNITY_STANDALONE
using UnityEngine;
#endif
namespace ERP.Discord
{
- public partial struct ImageHandle
+ public partial struct ImageHandle
{
static public ImageHandle User(Int64 id)
{
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/LobbyManager.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/LobbyManager.cs
index 17292a5..e02857f 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/LobbyManager.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/LobbyManager.cs
@@ -1,5 +1,4 @@
using System;
-using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Text;
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/StorageManager.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/StorageManager.cs
index 3ccc511..b9cc8f0 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/StorageManager.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/StorageManager.cs
@@ -1,6 +1,4 @@
-using System;
using System.Collections.Generic;
-using System.Text;
namespace ERP.Discord
{
diff --git a/Assets/ERP/Editor/Plugins/DiscordSDK/StoreManager.cs b/Assets/ERP/Editor/Plugins/DiscordSDK/StoreManager.cs
index f8a1721..d3f44a5 100644
--- a/Assets/ERP/Editor/Plugins/DiscordSDK/StoreManager.cs
+++ b/Assets/ERP/Editor/Plugins/DiscordSDK/StoreManager.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Runtime.InteropServices;
using System.Collections.Generic;
-using System.Text;
namespace ERP.Discord
{
diff --git a/Assets/Prefabs/ClearCounter.prefab b/Assets/Prefabs/ClearCounter.prefab
index e74cf89..00d51cc 100644
--- a/Assets/Prefabs/ClearCounter.prefab
+++ b/Assets/Prefabs/ClearCounter.prefab
@@ -31,6 +31,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3231759315905380366}
+ - {fileID: 4409201660398974582}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -180.325, z: 0}
@@ -67,6 +68,150 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bb159edc225081c408fe7a01d52732e4, type: 3}
m_Name:
m_EditorClassIdentifier:
+--- !u!1001 &180516218137596637
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 6371086230447438899}
+ m_Modifications:
+ - target: {fileID: 3984833892277163771, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_Materials.Array.data[0]
+ value:
+ objectReference: {fileID: 2100000, guid: 1a0afd856a35421469b28b916116fd9c, type: 2}
+ - target: {fileID: 4589716710238282922, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_Name
+ value: Selected
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282922, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_RootOrder
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalScale.x
+ value: 1.01
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalScale.y
+ value: 1.01
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalScale.z
+ value: 1.01
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_ConstrainProportionsScale
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8489276541531669327, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents:
+ - targetCorrespondingSourceObject: {fileID: 4589716710238282922, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ insertIndex: -1
+ addedObject: {fileID: 6941436636027395465}
+ m_SourcePrefab: {fileID: 100100000, guid: 0004cb1e11ad014419b943c7da960724, type: 3}
+--- !u!4 &4409201660398974582 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 4589716710238282923, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ m_PrefabInstance: {fileID: 180516218137596637}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1 &4409201660398974583 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 4589716710238282922, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ m_PrefabInstance: {fileID: 180516218137596637}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &6941436636027395465
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4409201660398974583}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6b8e4c74ab1ad4b4a8c3676f33904e52, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ clearCounter: {fileID: 7837983985068458341}
+ visualGameObject: {fileID: 8596996214292255122}
+--- !u!1 &8596996214292255122 stripped
+GameObject:
+ m_CorrespondingSourceObject: {fileID: 8489276541531669327, guid: 0004cb1e11ad014419b943c7da960724,
+ type: 3}
+ m_PrefabInstance: {fileID: 180516218137596637}
+ m_PrefabAsset: {fileID: 0}
--- !u!1001 &1398491922627355813
PrefabInstance:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/ClearCounter.cs b/Assets/Scripts/ClearCounter.cs
index 26fdb44..112c421 100644
--- a/Assets/Scripts/ClearCounter.cs
+++ b/Assets/Scripts/ClearCounter.cs
@@ -1,10 +1,8 @@
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
public class ClearCounter : MonoBehaviour
{
-
+
public void Interact()
{
Debug.Log("Interacted!");
diff --git a/Assets/Scripts/GameInput.cs b/Assets/Scripts/GameInput.cs
index 6d8a645..f2a2701 100644
--- a/Assets/Scripts/GameInput.cs
+++ b/Assets/Scripts/GameInput.cs
@@ -1,6 +1,4 @@
using System;
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
public class GameInput : MonoBehaviour
diff --git a/Assets/Scripts/Player.cs b/Assets/Scripts/Player.cs
index 6f70b52..3567cd3 100644
--- a/Assets/Scripts/Player.cs
+++ b/Assets/Scripts/Player.cs
@@ -1,44 +1,46 @@
-using System.Collections;
-using System.Collections.Generic;
+using System;
+using UnityEditorInternal;
using UnityEngine;
public class Player : MonoBehaviour
{
+ public static Player Instance { get; private set; }
+
+ public event EventHandler OnSelectedcounterChanged;
+ public class OnSelectedCounterChangedEventArgs : EventArgs
+ {
+ public ClearCounter selectedCounter;
+ }
+
[SerializeField] private float moveSpeed = 7f;
[SerializeField] private GameInput gameInput;
[SerializeField] private LayerMask countersLayerMask;
private bool isWalking;
private Vector3 lastInteractDir;
+ private ClearCounter selectedCounter;
private void Start()
{
- gameInput.OnInteractAction += GameInput_OnInteractAction;
+ gameInput.OnInteractAction += GameInput_OnInteractAction;
}
private void GameInput_OnInteractAction(object sender, System.EventArgs e)
{
- Vector2 inputVector = gameInput.GetMovementVectorNormalized();
-
- Vector3 moveDir = new Vector3(inputVector.x, 0f, inputVector.y);
-
- // Kepp a constantly updating record of the last move direction.
- // This means you can interact without holding down a direction.
- if (moveDir != Vector3.zero)
+ if (selectedCounter != null)
{
- lastInteractDir = moveDir;
+ selectedCounter.Interact();
}
+ }
- float interactDistance = 2f;
- if (Physics.Raycast(transform.position, lastInteractDir, out RaycastHit raycastHit, interactDistance, countersLayerMask))
+ private void Awake()
+ {
+ if (Instance != null)
{
- if (raycastHit.transform.TryGetComponent(out ClearCounter clearCounter))
- {
- // Has Clear Counter
- clearCounter.Interact();
- }
+ Debug.LogError("There is more than one player instance!");
}
+ Instance = this;
}
private void Update()
@@ -71,12 +73,24 @@ public class Player : MonoBehaviour
float interactDistance = 2f;
if (Physics.Raycast(transform.position, lastInteractDir, out RaycastHit raycastHit, interactDistance, countersLayerMask))
{
- if (raycastHit.transform.TryGetComponent(out ClearCounter clearCounter))
+ if (raycastHit.transform.TryGetComponent(out ClearCounter clearCounter))
{
// Has Clear Counter
- //clearCounter.Interact();
+ if (clearCounter != selectedCounter)
+ {
+ SetSelectedCounter(clearCounter);
+ }
+ }
+ else
+ {
+ SetSelectedCounter(null);
}
}
+ else
+ {
+ SetSelectedCounter(null);
+ }
+
}
///
@@ -131,4 +145,14 @@ public class Player : MonoBehaviour
transform.forward = Vector3.Slerp(transform.forward, moveDir, Time.deltaTime * rotateSpeed);
}
+ private void SetSelectedCounter(ClearCounter selectedCounter)
+ {
+ this.selectedCounter = selectedCounter;
+
+ OnSelectedcounterChanged?.Invoke(this, new OnSelectedCounterChangedEventArgs
+ {
+ selectedCounter = selectedCounter,
+ });
+ }
+
}
diff --git a/Assets/Scripts/PlayerAnimator.cs b/Assets/Scripts/PlayerAnimator.cs
index 88777d5..0f7da44 100644
--- a/Assets/Scripts/PlayerAnimator.cs
+++ b/Assets/Scripts/PlayerAnimator.cs
@@ -1,5 +1,3 @@
-using System.Collections;
-using System.Collections.Generic;
using UnityEngine;
public class PlayerAnimator : MonoBehaviour
diff --git a/Assets/Scripts/SelectedCounterVisual.cs b/Assets/Scripts/SelectedCounterVisual.cs
new file mode 100644
index 0000000..5f6df76
--- /dev/null
+++ b/Assets/Scripts/SelectedCounterVisual.cs
@@ -0,0 +1,34 @@
+using UnityEngine;
+
+public class SelectedCounterVisual : MonoBehaviour
+{
+
+ [SerializeField] private ClearCounter clearCounter;
+ [SerializeField] private GameObject visualGameObject;
+
+ private void Start()
+ {
+ Player.Instance.OnSelectedcounterChanged += Player_OnSelectedcounterChanged;
+ }
+
+ private void Player_OnSelectedcounterChanged(object sender, Player.OnSelectedCounterChangedEventArgs e)
+ {
+ if (e.selectedCounter == clearCounter)
+ {
+ Show();
+ } else
+ {
+ Hide();
+ }
+ }
+
+ private void Show()
+ {
+ visualGameObject.SetActive(true);
+ }
+
+ private void Hide()
+ {
+ visualGameObject.SetActive(false);
+ }
+}
diff --git a/Assets/Scripts/SelectedCounterVisual.cs.meta b/Assets/Scripts/SelectedCounterVisual.cs.meta
new file mode 100644
index 0000000..e261daa
--- /dev/null
+++ b/Assets/Scripts/SelectedCounterVisual.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6b8e4c74ab1ad4b4a8c3676f33904e52
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: