Add selected clear sounter highlight

This commit is contained in:
BuyMyMojo 2023-02-28 04:33:09 +11:00
parent 5772da3965
commit 989648c00b
18 changed files with 352 additions and 127 deletions

View file

@ -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

View file

@ -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
{

View file

@ -1,8 +1,6 @@
#if UNITY_EDITOR
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine;
namespace ERP
{

View file

@ -1,6 +1,4 @@
using System;
namespace ERP.Discord
namespace ERP.Discord
{
public partial class ActivityManager
{

View file

@ -1,6 +1,4 @@
using System;
namespace ERP.Discord
namespace ERP.Discord
{
static class Constants
{

View file

@ -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);
}
}

View file

@ -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)
{

View file

@ -1,5 +1,4 @@
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Text;

View file

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace ERP.Discord
{

View file

@ -1,7 +1,4 @@
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Text;
namespace ERP.Discord
{

View file

@ -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

View file

@ -1,10 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClearCounter : MonoBehaviour
{
public void Interact()
{
Debug.Log("Interacted!");

View file

@ -1,6 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameInput : MonoBehaviour

View file

@ -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<OnSelectedCounterChangedEventArgs> 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);
}
}
/// <summary>
@ -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,
});
}
}

View file

@ -1,5 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerAnimator : MonoBehaviour

View file

@ -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);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6b8e4c74ab1ad4b4a8c3676f33904e52
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: