Skip to content

Commit c7afd13

Browse files
authored
Merge pull request #163 from TaloDev/develop
Release 0.37.0
2 parents dffaa69 + 3b2a817 commit c7afd13

File tree

6 files changed

+42
-4
lines changed

6 files changed

+42
-4
lines changed

addons/talo/apis/stats_api.gd

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,21 @@ func get_global_history(internal_name: String, page: int = 0, player_id = "", st
109109
_:
110110
return null
111111

112+
## Get all the current player's stats.
113+
func list_player_stats() -> Array[TaloPlayerStat]:
114+
if Talo.identity_check() != OK:
115+
return []
116+
117+
var res := await client.make_request(HTTPClient.METHOD_GET, "/player-stats")
118+
119+
match res.status:
120+
200:
121+
var player_stats: Array[TaloPlayerStat] = []
122+
player_stats.assign(res.body.playerStats.map(func (player_stat: Dictionary): return TaloPlayerStat.new(player_stat)))
123+
return player_stats
124+
_:
125+
return []
126+
112127
class StatHistoryPage:
113128
var history: Array[TaloPlayerStatSnapshot]
114129
var count: int

addons/talo/plugin.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
name="Talo Game Services"
44
description="Talo (https://trytalo.com) is an open-source game backend. Talo's Godot plugin is the easiest way to add leaderboards, player authentication, socket-based multiplayer and more to your game."
55
author="trytalo"
6-
version="0.36.1"
6+
version="0.37.0"
77
script="talo_autoload.gd"

addons/talo/samples/playground/playground.tscn

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=33 format=3 uid="uid://bg71kho7jirad"]
1+
[gd_scene load_steps=34 format=3 uid="uid://bg71kho7jirad"]
22

33
[ext_resource type="Script" uid="uid://caukqabpein8y" path="res://addons/talo/samples/playground/scripts/identify_button.gd" id="1_o53s3"]
44
[ext_resource type="Script" uid="uid://b8sqvkjr862hc" path="res://addons/talo/samples/playground/scripts/identified_state.gd" id="1_qsdrr"]
@@ -30,6 +30,7 @@
3030
[ext_resource type="Script" uid="uid://d2xemrkvvbehq" path="res://addons/talo/samples/playground/scripts/get_global_history_button.gd" id="13_recjy"]
3131
[ext_resource type="Script" uid="uid://dujbepgthemyv" path="res://addons/talo/samples/playground/scripts/update_save_button.gd" id="14_lvmju"]
3232
[ext_resource type="Script" uid="uid://qrvgsfbol2pi" path="res://addons/talo/samples/playground/scripts/delete_save_button.gd" id="15_iq1bk"]
33+
[ext_resource type="Script" uid="uid://rbegoqu8uebd" path="res://addons/talo/samples/playground/scripts/list_player_stats_button.gd" id="16_jxvic"]
3334
[ext_resource type="Script" uid="uid://dv0oalue8qe6" path="res://addons/talo/samples/playground/scripts/get_categories_button.gd" id="18_vdjyg"]
3435
[ext_resource type="Script" uid="uid://cm1bgc6hi7ah5" path="res://addons/talo/samples/playground/scripts/send_feedback_button.gd" id="19_2r4rn"]
3536

@@ -199,6 +200,11 @@ layout_mode = 2
199200
text = "Get player stat"
200201
script = ExtResource("13_814oc")
201202

203+
[node name="ListPlayerStatsButton" type="Button" parent="UI/Content/APIs/Stats"]
204+
layout_mode = 2
205+
text = "List player stats"
206+
script = ExtResource("16_jxvic")
207+
202208
[node name="TrackStatButton" type="Button" parent="UI/Content/APIs/Stats"]
203209
layout_mode = 2
204210
text = "Track stat"
@@ -545,6 +551,7 @@ script = ExtResource("2_ncaxm")
545551
[connection signal="pressed" from="UI/Content/APIs/Stats/GetAllStatsButton" to="UI/Content/APIs/Stats/GetAllStatsButton" method="_on_pressed"]
546552
[connection signal="pressed" from="UI/Content/APIs/Stats/GetStatButton" to="UI/Content/APIs/Stats/GetStatButton" method="_on_pressed"]
547553
[connection signal="pressed" from="UI/Content/APIs/Stats/GetPlayerStatButton" to="UI/Content/APIs/Stats/GetPlayerStatButton" method="_on_pressed"]
554+
[connection signal="pressed" from="UI/Content/APIs/Stats/ListPlayerStatsButton" to="UI/Content/APIs/Stats/ListPlayerStatsButton" method="_on_pressed"]
548555
[connection signal="pressed" from="UI/Content/APIs/Stats/TrackStatButton" to="UI/Content/APIs/Stats/TrackStatButton" method="_on_pressed"]
549556
[connection signal="pressed" from="UI/Content/APIs/Stats/GetStatHistoryButton" to="UI/Content/APIs/Stats/GetStatHistoryButton" method="_on_pressed"]
550557
[connection signal="pressed" from="UI/Content/APIs/Stats/GetGlobalHistoryButton" to="UI/Content/APIs/Stats/GetGlobalHistoryButton" method="_on_pressed"]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
extends Button
2+
3+
func _on_pressed() -> void:
4+
var res := await Talo.stats.list_player_stats()
5+
var values := PackedStringArray(
6+
res.map(
7+
func (item: TaloPlayerStat): return "%s = %s" % [item.stat.internal_name, item.value]
8+
)
9+
)
10+
var player_stat_values := ", ".join(values) if values.size() > 0 else "none"
11+
%ResponseLabel.text = "Player stats: %s" % [player_stat_values]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://rbegoqu8uebd

addons/talo/talo_client.gd

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class_name TaloClient extends Node
22

33
# automatically updated with a pre-commit hook
4-
const TALO_CLIENT_VERSION = "0.36.1"
4+
const TALO_CLIENT_VERSION = "0.37.0"
55

66
var _base_url: String
77

@@ -100,10 +100,14 @@ func _build_headers(extra_headers: Array[String] = []) -> Array[String]:
100100

101101
if Talo.current_alias:
102102
headers.append_array([
103-
"X-Talo-Player: %s" % Talo.current_player.id,
104103
"X-Talo-Alias: %s" % Talo.current_alias.id
105104
])
106105

106+
if Talo.current_player:
107+
headers.append_array([
108+
"X-Talo-Player: %s" % Talo.current_player.id,
109+
])
110+
107111
var session_token := Talo.player_auth.session_manager.get_token()
108112
if session_token:
109113
headers.append("X-Talo-Session: %s" % session_token)

0 commit comments

Comments
 (0)