discord-rpc/examples/button-clicker/Assets/DiscordController.cs

83 lines
2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DiscordController : MonoBehaviour {
public DiscordRpc.EventHandlers handlers;
public DiscordRpc.RichPresence presence;
public string applicationId;
public int callbackCalls;
public int clickCounter;
public void OnClick()
{
Debug.Log("Discord: on click!");
clickCounter++;
presence.details = string.Format("Button clicked {0} times", clickCounter);
DiscordRpc.UpdatePresence(ref presence);
}
public void ReadyCallback()
{
++callbackCalls;
Debug.Log("Discord: ready");
}
public void DisconnectedCallback(int errorCode, string message)
{
++callbackCalls;
Debug.Log(string.Format("Discord: disconnect {0}: {1}", errorCode, message));
}
public void ErrorCallback(int errorCode, string message)
{
++callbackCalls;
Debug.Log(string.Format("Discord: error {0}: {1}", errorCode, message));
}
public void JoinCallback(string secret)
{
++callbackCalls;
Debug.Log(string.Format("Discord: join ({0})", secret));
}
public void SpectateCallback(string secret)
{
++callbackCalls;
Debug.Log(string.Format("Discord: spectate ({0})", secret));
}
void Start () {
handlers = new DiscordRpc.EventHandlers();
handlers.readyCallback = ReadyCallback;
handlers.disconnectedCallback = DisconnectedCallback;
handlers.errorCallback = ErrorCallback;
handlers.joinCallback = JoinCallback;
handlers.spectateCallback = SpectateCallback;
}
void Update () {
}
void OnEnable()
{
var p = System.Diagnostics.Process.GetCurrentProcess();
Debug.Log(string.Format("Discord: init {0}", p.Id));
callbackCalls = 0;
DiscordRpc.Initialize(applicationId, ref handlers, true);
}
void OnDisable()
{
Debug.Log("Discord: shutdown");
DiscordRpc.Shutdown();
}
void OnDestroy()
{
}
}