Kermer / GodotSteam

Steam api for Godot game engine
42 stars 5 forks source link

"leaderboard_loaded" signal returns null #14

Closed jandrewlong closed 7 years ago

jandrewlong commented 7 years ago

When the leaderboard_loaded signal is sent, it has null as an argument, even when the leaderboard is found.

I thought I might not be finding my leaderboard, so I put a printf statement in the else statement in godotsteam.cpp line 284-287, and it prints that a leaderboard was found, but the signal still contains null.

I also put some print statements in the constructors for the SteamLeaderboards object, but neither one appears to be called.

Here's my relevant GDScript code, in case the problem is there:

var steamScores = null

signal scores_retrieved()

func _ready():
    Steam.connect("leaderboard_loaded", self, "_load_Steam_leaderboards")
    Steam.load_leaderboard("Endless")

func _load_Steam_leaderboards(leaderboard):
    print("leaderboard: ", leaderboard)
    if !leaderboard:
        return
    steamScores = leaderboard
    steamScores.connect("entries_loaded", self, "_global_scores_loaded", [], CONNECT_ONESHOT)
    steamScores.query_entries(1, 10, 0)

func _global_scores_loaded():
    globalScores = steamScores.get_entries()
    emit_signal("scores_retrieved")

the print statement in _load_Steam_leaderboards prints: leaderboard: [Object:null]

Kermer commented 7 years ago

Leaderboards loading should work fine now.

jandrewlong commented 7 years ago

It does, thank you very much.