Обратный вызов Steamworks.NET OnGameOverlayActivated никогда не вызывался в Godot C#.C#

Место общения программистов C#
Ответить
Anonymous
 Обратный вызов Steamworks.NET OnGameOverlayActivated никогда не вызывался в Godot C#.

Сообщение Anonymous »

Я пытаюсь заставить обратные вызовы Steamworks.NET работать внутри проекта Godot C#, но обратный вызов для наложения Steam (GameOverlayActivated_t) никогда не запускается.
Я сократил код до минимума:

Код: Выделить всё

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();
}
}
При запуске игры я получаю:

Код: Выделить всё

Steam initialized successfully.
Steam callback for overlay activated set up.
Но когда я открываю оверлей Steam в игре, обратный вызов никогда не запускается. нет вывода журнала из OnGameOverlayActivated.

Я пробовал много вещей, но не смог запустить ни один обратный вызов, который я пробовал. Я больше не знаю, что делать... Я пропустил этап инициализации, специфичный для Godot или Steamworks.NET, или мой класс должен наследовать от другого? Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... ot-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»