Skip to content

Commit

Permalink
Complete TODO, add an easy way to create scene-specific status. Also …
Browse files Browse the repository at this point in the history
…manually refresh the status details on scene change since it is a DontDestroyOnLoad
  • Loading branch information
sjalkote committed Jun 9, 2023
1 parent 50e1908 commit d71bea8
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 57 deletions.
98 changes: 49 additions & 49 deletions Assets/Scenes/MainLevel/MainLevel.unity
Original file line number Diff line number Diff line change
Expand Up @@ -1773,6 +1773,55 @@ Transform:
m_CorrespondingSourceObject: {fileID: 9005220659476430818, guid: 2d3a85ecde41a8246a79669975912b74, type: 3}
m_PrefabInstance: {fileID: 593539379}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1379140518
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1379140520}
- component: {fileID: 1379140519}
m_Layer: 0
m_Name: DiscordController
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1379140519
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1379140518}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 989c21f7179ce4bd299236345e2bd236, type: 3}
m_Name:
m_EditorClassIdentifier:
applicationID: 1115659409360703538
details: Monkeying Around
state: 'Current velocity: '
largeImage: banana_pile
largeText: Defending Bananas
--- !u!4 &1379140520
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1379140518}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -20.413609, y: -5.7558146, z: 7.80624}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1483543804
GameObject:
m_ObjectHideFlags: 0
Expand Down Expand Up @@ -2167,55 +2216,6 @@ Transform:
m_Father: {fileID: 1171578205}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1842752240
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1842752242}
- component: {fileID: 1842752241}
m_Layer: 0
m_Name: DiscordController
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1842752241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842752240}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 989c21f7179ce4bd299236345e2bd236, type: 3}
m_Name:
m_EditorClassIdentifier:
applicationID: 1115659409360703538
details: Monkeying Around
state: 'Current velocity: '
largeImage: banana_pile
largeText: MonkeBusiness
--- !u!4 &1842752242
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842752240}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -20.413609, y: -5.7558146, z: 7.80624}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1894156808
GameObject:
m_ObjectHideFlags: 0
Expand Down
49 changes: 49 additions & 0 deletions Assets/Scenes/MainMenu/MainMenu.unity
Original file line number Diff line number Diff line change
Expand Up @@ -1053,6 +1053,55 @@ MonoBehaviour:
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!1 &1842752240
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1842752242}
- component: {fileID: 1842752241}
m_Layer: 0
m_Name: DiscordController
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1842752241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842752240}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 989c21f7179ce4bd299236345e2bd236, type: 3}
m_Name:
m_EditorClassIdentifier:
applicationID: 1115659409360703538
details: In the Main Menu
state: Staring at the screen
largeImage: banana_pile
largeText: MonkeBusiness
--- !u!4 &1842752242
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842752240}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -20.413609, y: -5.7558146, z: 7.80624}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2035804837
GameObject:
m_ObjectHideFlags: 0
Expand Down
40 changes: 32 additions & 8 deletions Assets/Scripts/DiscordController.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
using System;
using UnityEngine;
using UnityEngine.SceneManagement;

public class DiscordController : MonoBehaviour
{
public long applicationID = 1115659409360703538;
[Space]
// TODO: Add status when in Main Menu, make sure to move the GameObject to that scene instead of this one
public string details = "Monkeying Around";
public string state = "Current velocity: ";
public string state = "";
[Space]
public string largeImage = "banana_pile";
public string largeText = "Defending Bananas";
public string largeText = "";

private CharacterController _character;
private long _time;
Expand All @@ -30,14 +29,38 @@ void Awake()
{
Destroy(gameObject);
}

SceneManager.sceneLoaded += OnSceneLoaded;
}

void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
switch (scene.name)
{
case "MainMenu":
details = "In the Main Menu"; state = "Staring at the screen";
largeImage = "banana_pile"; largeText = "MonkeBusiness";
break;
case "MainLevel":
details = "Monkeying Around"; state = "Current velocity: ";
largeImage = "banana_pile"; largeText = "Defending Bananas";
_character = GameObject.FindWithTag("Player").GetComponent<CharacterController>();
break;
default:
details = "Monkeying Around";
state = "";
largeImage = "banana_pile";
largeText = "";
Debug.LogWarning($"This scene '{scene.name}' does not have a case in DiscordController.cs");
break;
}
}

void Start()
{
// Log in with the Application ID
Debug.Log("Starting Discord Status");
_discord = new Discord.Discord(applicationID, (System.UInt64)Discord.CreateFlags.NoRequireDiscord);

_character = GameObject.FindWithTag("Player").GetComponent<CharacterController>();
_time = System.DateTimeOffset.Now.ToUnixTimeMilliseconds();

UpdateStatus();
Expand All @@ -61,10 +84,11 @@ void UpdateStatus()
try
{
var activityManager = _discord.GetActivityManager();
if (_character != null) state += _character.velocity.ToString();
var activity = new Discord.Activity
{
Details = details,
State = state + _character.velocity,
State = state,
Assets = { LargeImage = largeImage, LargeText = largeText },
Timestamps = { Start = _time }
};
Expand All @@ -74,7 +98,7 @@ void UpdateStatus()
if (res != Discord.Result.Ok) Debug.LogWarning("Failed to connect to Discord: " + res);
});
}
catch { // If updating the status fails, Destroy the GameObject
catch {
Destroy(gameObject);
}
}
Expand Down

0 comments on commit d71bea8

Please sign in to comment.