Steamworks.NET-Rückruf OnGameOverlayActivated wurde in Godot C# nie aufgerufenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Steamworks.NET-Rückruf OnGameOverlayActivated wurde in Godot C# nie aufgerufen

Post by Anonymous »

Ich versuche, Steamworks.NET-Rückrufe in einem Godot C#-Projekt zum Laufen zu bringen, aber der Rückruf für das Steam-Overlay (GameOverlayActivated_t) wird nie ausgelöst.
Ich habe den Code auf das Minimum reduziert:

Code: Select all

using Godot;
using Steamworks;

public partial class serverTest : Node
{
protected SteamAPIWarningMessageHook_t m_SteamAPIWarningMessageHook;
protected Callback m_GameOverlayActivated;

public override void _EnterTree()
{
OS.SetEnvironment("SteamAppId", "480");
OS.SetEnvironment("SteamGameId", "480");

bool initialized = SteamAPI.Init();
if (!initialized)
{
return;
}

GD.Print("Steam initialized successfully.");

if (m_SteamAPIWarningMessageHook == null)
{
m_SteamAPIWarningMessageHook = new SteamAPIWarningMessageHook_t(SteamAPIDebugTextHook);
SteamClient.SetWarningMessageHook(m_SteamAPIWarningMessageHook);
}
}

public override void _Ready()
{
m_GameOverlayActivated = Callback.Create(OnGameOverlayActivated);
GD.Print("Steam callback for overlay activated set up.");
}

protected static void SteamAPIDebugTextHook(int nSeverity, System.Text.StringBuilder pchDebugText) {
GD.Print($"SteamAPI Debug Message (Severity {nSeverity}): {pchDebugText}");
}

public void OnGameOverlayActivated(GameOverlayActivated_t pCallback)
{
GD.Print($"OnGameOverlayActivated callback triggered! Active: {pCallback.m_bActive}");
}

public override void _Process(double delta)
{
SteamAPI.RunCallbacks();
}
}
Wenn ich das Spiel starte, erhalte ich Folgendes:

Code: Select all

Steam initialized successfully.
Steam callback for overlay activated set up.
Aber wenn ich das Steam-Overlay im Spiel öffne, wird der Rückruf nie ausgelöst. Es gibt keine Protokollausgabe von OnGameOverlayActivated.

Ich habe viele Dinge ausprobiert, konnte aber keinen Rückruf auslösen, den ich versucht habe. Ich weiß nicht mehr, was ich tun soll ... Fehlt mir ein Initialisierungsschritt speziell für Godot oder Steamworks.NET oder muss meine Klasse von einer anderen erben? Vielen Dank im Voraus!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post