hacky high scores! (;

This commit is contained in:
Harmony Honey 2023-12-01 12:51:57 -05:00
parent 9033ec61fb
commit 89f32b86cd
5 changed files with 98 additions and 15 deletions

View file

@ -102,6 +102,7 @@ TouchScreen="*res://src/autoload/touch_screen.tscn"
Wipe="*res://src/autoload/Wipe.tscn"
UI="*res://src/autoload/UI.tscn"
SilentWolf="*res://addons/silent_wolf/SilentWolf.gd"
Leaderboard="*res://src/autoload/Leaderboard.gd"
[display]

View file

@ -0,0 +1,44 @@
extends Node
onready var api_file = load("silent_wolf_api_key.gd")
var api_key := ""
var is_online := false
var username := "player_name"
func _ready():
is_online = api_file is Script
if !is_online: return
if OS.has_environment("USERNAME"):
username = OS.get_environment("USERNAME")
print("Leaderboard username: ", username)
api_key = api_file.source_code.strip_edges().replace('"', "")
SilentWolf.configure({
"api_key": api_key,
"game_id": "TinyCrate",
"game_version": "1.0.0",
"log_level": 1})
SilentWolf.configure_scores({"open_scene_on_close": "res://scenes/MainPage.tscn"})
yield(get_tree(), "idle_frame")
# SilentWolf.Players.post_player_data("player_name", {"1-1" : 23}, false)
SilentWolf.Scores.persist_score("player_name", 1)
pass # Replace with function body.
func submit_score(board_name, score):
SilentWolf.Scores.persist_score("not_" + username + "3", score, board_name)
func get_scores(board_name):
yield(SilentWolf.Scores.get_high_scores(0, board_name), "sw_scores_received")
var s = SilentWolf.Scores.leaderboards[board_name]
print("Scores from the ", board_name, " leaderboard: " + str(s))
for i in s:
print(i["player_name"], ": ", -int(i["score"]))
return s

View file

@ -77,21 +77,6 @@ func _ready():
load_save()
Wipe.connect("finish", self, "wipe_finish")
# silent wolf
var api_key = load("silent_wolf_api_key.gd").source_code.strip_edges().replace('"', "")
SilentWolf.configure({
"api_key": api_key,
"game_id": "TinyCrate",
"game_version": "1.0.0",
"log_level": 1})
SilentWolf.configure_scores({"open_scene_on_close": "res://scenes/MainPage.tscn"})
yield(get_tree(), "idle_frame")
# SilentWolf.Players.post_player_data("player_name", {"1-1" : 23}, false)
SilentWolf.Scores.persist_score("player_name", 1)
func _physics_process(delta):
# reset timer
@ -300,6 +285,8 @@ func win():
save()
print("map complete")#, save_data: ", save_data)
Leaderboard.submit_score(map_name, -map_frame)
if map_save > ms:
set_map(current_map + 1)
else:

View file

@ -18,6 +18,9 @@ onready var node_audio_scroll : AudioStreamPlayer = $AudioScroll
onready var node_audio_select : AudioStreamPlayer = $AudioSelect
onready var node_audio_back : AudioStreamPlayer = $AudioBack
onready var score_layer := $ScoreLayer
onready var score_list := $ScoreLayer/CenterContainer/Control/List
# Called when the node enters the scene tree for the first time.
func _ready():
# make screens
@ -62,6 +65,17 @@ func _input(event):
open_map()
node_audio_select.play()
is_input = false
elif event.is_action_pressed("pause"):
var b = Shared.maps[cursor]
score_list.text = "loading"
yield(SilentWolf.Scores.get_high_scores(0, b), "sw_scores_received")
var s = SilentWolf.Scores.leaderboards[b]
var t = ""
for i in s:
t += str(i["player_name"]) + " / " + str(-int(i["score"])) + "\n"
score_list.text = t
else:
var btnx = btn.p("right") - btn.p("left")
var btny = btn.p("down") - btn.p("up")

View file

@ -227,3 +227,40 @@ color = Color( 0.160784, 0.678431, 1, 1 )
__meta__ = {
"_edit_lock_": true
}
[node name="ScoreLayer" type="CanvasLayer" parent="."]
[node name="CenterContainer" type="CenterContainer" parent="ScoreLayer"]
anchor_right = 1.0
anchor_bottom = 1.0
[node name="Control" type="Control" parent="ScoreLayer/CenterContainer"]
margin_left = 65.0
margin_top = 15.0
margin_right = 163.0
margin_bottom = 113.0
rect_min_size = Vector2( 98, 98 )
[node name="Title" type="Label" parent="ScoreLayer/CenterContainer/Control"]
margin_right = 100.0
margin_bottom = 20.0
custom_fonts/font = SubResource( 4 )
text = "FASTEST RUNS"
align = 1
valign = 1
[node name="List" type="Label" parent="ScoreLayer/CenterContainer/Control"]
margin_top = 20.0
margin_right = 100.0
margin_bottom = 40.0
custom_fonts/font = SubResource( 4 )
text = "1.67 / Me
1.94 / You
2.54 / Nobody
4. Everyone
5. The Rest
6. that guy
7. the others
8. who knows
9. waahuu
10. thats it"