Fix crashes

This commit is contained in:
msciotti 2018-11-02 14:56:01 -07:00
parent bc22841700
commit 30c93579d5
No known key found for this signature in database
GPG Key ID: 40FADA25CF0EAD84

View File

@ -9,24 +9,6 @@ public class DiscordSpectateEvent : UnityEngine.Events.UnityEvent<string> { }
[System.Serializable] [System.Serializable]
public class DiscordJoinRequestEvent : UnityEngine.Events.UnityEvent<DiscordRpc.DiscordUser> { } public class DiscordJoinRequestEvent : UnityEngine.Events.UnityEvent<DiscordRpc.DiscordUser> { }
public class GameManager {
private static GameManager instance = null;
public static GameManager Instance {
get
{
if (instance == null)
{
instance = new GameManager();
}
return instance;
}
}
public UnityEngine.Events.UnityEvent onConnect;
public UnityEngine.Events.UnityEvent onDisconnect;
public UnityEngine.Events.UnityEvent hasResponded;
public DiscordRpc.DiscordUser joinRequest;
}
public class DiscordController : MonoBehaviour public class DiscordController : MonoBehaviour
{ {
public DiscordRpc.RichPresence presence = new DiscordRpc.RichPresence(); public DiscordRpc.RichPresence presence = new DiscordRpc.RichPresence();
@ -36,6 +18,10 @@ public class DiscordController : MonoBehaviour
public DiscordJoinEvent onJoin; public DiscordJoinEvent onJoin;
public DiscordJoinEvent onSpectate; public DiscordJoinEvent onSpectate;
public DiscordJoinRequestEvent onJoinRequest; public DiscordJoinRequestEvent onJoinRequest;
public UnityEngine.Events.UnityEvent onConnect;
public UnityEngine.Events.UnityEvent onDisconnect;
public UnityEngine.Events.UnityEvent hasResponded;
public DiscordRpc.DiscordUser joinRequest;
DiscordRpc.EventHandlers handlers; DiscordRpc.EventHandlers handlers;
@ -47,54 +33,54 @@ public class DiscordController : MonoBehaviour
DiscordRpc.UpdatePresence(presence); DiscordRpc.UpdatePresence(presence);
} }
public static void RequestRespondYes() public void RequestRespondYes()
{ {
Debug.Log("Discord: responding yes to Ask to Join request"); Debug.Log("Discord: responding yes to Ask to Join request");
DiscordRpc.Respond(GameManager.Instance.joinRequest.userId, DiscordRpc.Reply.Yes); DiscordRpc.Respond(joinRequest.userId, DiscordRpc.Reply.Yes);
// hasResponded.Invoke(); hasResponded.Invoke();
} }
public static void RequestRespondNo() public void RequestRespondNo()
{ {
Debug.Log("Discord: responding no to Ask to Join request"); Debug.Log("Discord: responding no to Ask to Join request");
DiscordRpc.Respond(GameManager.Instance.joinRequest.userId, DiscordRpc.Reply.No); DiscordRpc.Respond(joinRequest.userId, DiscordRpc.Reply.No);
// hasResponded.Invoke(); hasResponded.Invoke();
} }
public static void ReadyCallback(ref DiscordRpc.DiscordUser connectedUser) public void ReadyCallback(ref DiscordRpc.DiscordUser connectedUser)
{ {
Debug.Log(string.Format("Discord: connected to {0}#{1}: {2}", connectedUser.username, connectedUser.discriminator, connectedUser.userId)); Debug.Log(string.Format("Discord: connected to {0}#{1}: {2}", connectedUser.username, connectedUser.discriminator, connectedUser.userId));
// GameManager.Instance.onConnect.Invoke(); onConnect.Invoke();
} }
public static void DisconnectedCallback(int errorCode, string message) public void DisconnectedCallback(int errorCode, string message)
{ {
Debug.Log(string.Format("Discord: disconnect {0}: {1}", errorCode, message)); Debug.Log(string.Format("Discord: disconnect {0}: {1}", errorCode, message));
// onDisconnect.Invoke(); onDisconnect.Invoke();
} }
public static void ErrorCallback(int errorCode, string message) public void ErrorCallback(int errorCode, string message)
{ {
Debug.Log(string.Format("Discord: error {0}: {1}", errorCode, message)); Debug.Log(string.Format("Discord: error {0}: {1}", errorCode, message));
} }
public static void JoinCallback(string secret) public void JoinCallback(string secret)
{ {
Debug.Log(string.Format("Discord: join ({0})", secret)); Debug.Log(string.Format("Discord: join ({0})", secret));
// onJoin.Invoke(secret); onJoin.Invoke(secret);
} }
public static void SpectateCallback(string secret) public void SpectateCallback(string secret)
{ {
Debug.Log(string.Format("Discord: spectate ({0})", secret)); Debug.Log(string.Format("Discord: spectate ({0})", secret));
// onSpectate.Invoke(secret); onSpectate.Invoke(secret);
} }
public static void RequestCallback(ref DiscordRpc.DiscordUser request) public void RequestCallback(ref DiscordRpc.DiscordUser request)
{ {
Debug.Log(string.Format("Discord: join request {0}#{1}: {2}", request.username, request.discriminator, request.userId)); Debug.Log(string.Format("Discord: join request {0}#{1}: {2}", request.username, request.discriminator, request.userId));
GameManager.Instance.joinRequest = request; joinRequest = request;
// onJoinRequest.Invoke(request); onJoinRequest.Invoke(request);
} }
void Start() void Start()