softcoded rpc calls
Co-Authored-By: Ne_Eo <NeeEoo@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
function onGameOver() {
|
||||
changePresence('Game Over', PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")");
|
||||
}
|
||||
|
||||
function onPlayStateUpdate() {
|
||||
// Setting parent to make code cleaner
|
||||
var old = __script__.interp.scriptObject;
|
||||
__script__.interp.scriptObject = PlayState.instance;
|
||||
|
||||
DiscordUtil.changeSongPresence(detailsText, (paused ? "Paused - " : "") + SONG.meta.displayName + " (" + difficulty + ")", inst, getIconRPC());
|
||||
|
||||
__script__.interp.scriptObject = old;
|
||||
}
|
||||
|
||||
function onMenuLoaded(name:String) {
|
||||
// Name is either "Main Menu", "Freeplay", "Title Screen", "Options Menu", "Credits Menu"
|
||||
changePresenceSince("In the Menus", null);
|
||||
}
|
||||
|
||||
function onEditorTreeLoaded(name:String) {
|
||||
switch(name) {
|
||||
case "Character Editor":
|
||||
changePresenceSince("Choosing a Character", null);
|
||||
case "Chart Editor":
|
||||
changePresenceSince("Choosing a Chart", null);
|
||||
case "Stage Editor":
|
||||
changePresenceSince("Choosing a Stage", null);
|
||||
}
|
||||
}
|
||||
|
||||
function onEditorLoaded(name:String, editingThing:String) {
|
||||
switch(name) {
|
||||
case "Character Editor":
|
||||
changePresenceSince("Editing a Character", editingThing);
|
||||
case "Chart Editor":
|
||||
changePresenceSince("Editing a Chart", editingThing);
|
||||
case "Stage Editor":
|
||||
changePresenceSince("Editing a Stage", editingThing);
|
||||
}
|
||||
}
|
||||
@@ -101,6 +101,7 @@ class DiscordUtil
|
||||
script = FlxDestroyUtil.destroy(script);
|
||||
}
|
||||
script = Script.create(Paths.script('data/discord'));
|
||||
script.setParent(DiscordUtil);
|
||||
script.load();
|
||||
}
|
||||
|
||||
@@ -137,6 +138,20 @@ class DiscordUtil
|
||||
#end
|
||||
}
|
||||
|
||||
public static function changePresenceSince(details:String, state:String, ?smallImageKey:String, ?offset:Float = 0)
|
||||
{
|
||||
#if DISCORD_RPC
|
||||
var start:Float = Date.now().getTime() + offset;
|
||||
|
||||
changePresenceAdvanced({
|
||||
state: state,
|
||||
details: details,
|
||||
smallImageKey: smallImageKey,
|
||||
startTimestamp: Std.int(start / 1000)
|
||||
});
|
||||
#end
|
||||
}
|
||||
|
||||
@:noCompletion public static function fixString(str:String)
|
||||
{
|
||||
return new cpp.ConstCharStar(cast(str, String));
|
||||
|
||||
@@ -224,7 +224,7 @@ class CharacterEditor extends UIState {
|
||||
FlxG.cameras.add(uiCamera);
|
||||
FlxG.cameras.add(animsCamera);
|
||||
|
||||
character = new Character(0,0,__character, false, false);
|
||||
character = new Character(0,0, __character, false, false);
|
||||
character.debugMode = true;
|
||||
character.cameras = [charCamera];
|
||||
|
||||
@@ -257,6 +257,8 @@ class CharacterEditor extends UIState {
|
||||
Framerate.memoryCounter.alpha = 0.4;
|
||||
Framerate.codenameBuildField.alpha = 0.4;
|
||||
}
|
||||
|
||||
DiscordUtil.call("onEditorLoaded", ["Character Editor", __character]);
|
||||
}
|
||||
|
||||
override function destroy() {
|
||||
|
||||
@@ -33,6 +33,8 @@ class CharacterSelection extends EditorTreeMenu
|
||||
}));
|
||||
|
||||
main = new OptionsScreen("Character Editor", "Select a character to edit", list);
|
||||
|
||||
DiscordUtil.call("onEditorTreeLoaded", ["Character Editor"]);
|
||||
}
|
||||
|
||||
override function createPost() {
|
||||
|
||||
@@ -490,6 +490,8 @@ class Charter extends UIState {
|
||||
Framerate.codenameBuildField.alpha = 0.4;
|
||||
}
|
||||
updateDisplaySprites();
|
||||
|
||||
DiscordUtil.call("onEditorLoaded", ["Chart Editor", __song + " (" + __diff + ")"]);
|
||||
}
|
||||
|
||||
override function destroy() {
|
||||
|
||||
@@ -46,6 +46,8 @@ class CharterSelection extends EditorTreeMenu {
|
||||
}));
|
||||
|
||||
main = new OptionsScreen("Chart Editor", "Select a song to modify the charts from.", list);
|
||||
|
||||
DiscordUtil.call("onEditorTreeLoaded", ["Chart Editor"]);
|
||||
}
|
||||
|
||||
override function createPost() {
|
||||
|
||||
@@ -87,8 +87,7 @@ class GameOverSubstate extends MusicBeatSubstate
|
||||
lossSFX = FlxG.sound.play(Paths.sound(lossSFXName));
|
||||
Conductor.changeBPM(gameOverSongBPM);
|
||||
|
||||
DiscordUtil.changePresence('Game Over', PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")");
|
||||
|
||||
DiscordUtil.call("onGameOver", []);
|
||||
gameoverScript.call("postCreate");
|
||||
}
|
||||
|
||||
|
||||
@@ -784,7 +784,7 @@ class PlayState extends MusicBeatState
|
||||
* This function is dynamic, which means you can do `updateDiscordPresence = function() {}` in scripts.
|
||||
*/
|
||||
public dynamic function updateDiscordPresence()
|
||||
DiscordUtil.changeSongPresence(detailsText, (paused ? "Paused - " : "") + SONG.meta.displayName + " (" + difficulty + ")", inst, getIconRPC());
|
||||
DiscordUtil.call("onPlayStateUpdate", []);
|
||||
|
||||
/**
|
||||
* Starts a cutscene.
|
||||
|
||||
@@ -116,7 +116,7 @@ class FreeplayState extends MusicBeatState
|
||||
}
|
||||
}
|
||||
|
||||
DiscordUtil.changePresence("In the Menus", null);
|
||||
DiscordUtil.call("onMenuLoaded", ["Freeplay"]);
|
||||
|
||||
super.create();
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ class MainMenuState extends MusicBeatState
|
||||
{
|
||||
super.create();
|
||||
|
||||
DiscordUtil.changePresence("In the Menus", null);
|
||||
DiscordUtil.call("onMenuLoaded", ["Main Menu"]);
|
||||
|
||||
CoolUtil.playMenuSong();
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@ class StoryMenuState extends MusicBeatState {
|
||||
|
||||
changeWeek(0, true);
|
||||
|
||||
DiscordUtil.changePresence("In the Menus", null);
|
||||
DiscordUtil.call("onMenuLoaded", ["Story Menu"]);
|
||||
CoolUtil.playMenuSong();
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ class TitleState extends MusicBeatState
|
||||
startIntro();
|
||||
|
||||
super.create();
|
||||
|
||||
DiscordUtil.call("onMenuLoaded", ["Title Screen"]);
|
||||
}
|
||||
|
||||
var logoBl:FlxSprite;
|
||||
|
||||
@@ -43,6 +43,8 @@ class CreditsMain extends TreeMenu {
|
||||
|
||||
main = new OptionsScreen('Credits', 'The people who made this possible!', selectables);
|
||||
super.create();
|
||||
|
||||
DiscordUtil.call("onMenuLoaded", ["Credits Menu"]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,6 +37,8 @@ class OptionsMenu extends TreeMenu {
|
||||
|
||||
CoolUtil.playMenuSong();
|
||||
|
||||
DiscordUtil.call("onMenuLoaded", ["Options Menu"]);
|
||||
|
||||
var bg:FlxSprite = new FlxSprite(-80).loadAnimatedGraphic(Paths.image('menus/menuBGBlue'));
|
||||
// bg.scrollFactor.set();
|
||||
bg.scale.set(1.15, 1.15);
|
||||
|
||||
Reference in New Issue
Block a user