more tweaks to leaderboard, also changed how gun points during sway

This commit is contained in:
derek
2025-04-09 15:38:14 -05:00
parent 2403fe0f33
commit 92437ea398
11 changed files with 64 additions and 11 deletions

View File

@@ -17,3 +17,4 @@ func _process(delta: float) -> void:
func interact():
SignalBus.emit_signal("money_deposited")
Leaderboard.save_leaderboard_data()

View File

@@ -28,11 +28,17 @@ func save_leaderboard_data():
func load_leaderboard_data():
var auth = Firebase.Auth.auth
var COLLECTION_ID = get_leaderboard_name()
if auth.localid:
var collection: FirestoreCollection = Firebase.Firestore.collection(COLLECTION_ID)
var task = await collection.get_doc(auth.localid)
var result = task.get_value("high_score")
var collection : FirestoreCollection = Firebase.Firestore.collection(COLLECTION_ID)
var document = await collection.get_doc(auth.localid)
if document:
print(document)
return document
else:
print("Failed to load document from Firebase")
func get_leaderboard_name():
print("CURRENT LEADERBOARD ID",GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id])
return "leaderboard_" + str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id])

View File

@@ -8,8 +8,11 @@ var last_scene
@onready var option_button: OptionButton = $MarginContainer/VBoxContainer/HBoxContainer/OptionButton
@onready var add_leaderboard: Button = $"MarginContainer/VBoxContainer/HBoxContainer/Add Leaderboard"
@onready var add_leaderboard_menu: Control = $"Add Leaderboard Menu"
@onready var new_leaderboard_name: TextEdit = $"Add Leaderboard Menu/MarginContainer/HBoxContainer/NewLeaderboardName"
@onready var new_leaderboard_name: LineEdit = $"Add Leaderboard Menu/MarginContainer/HBoxContainer/NewLeaderboardName"
@onready var confirm_leaderboard_add: Button = $"Add Leaderboard Menu/MarginContainer/HBoxContainer/Confirm"
@onready var user_name: TextEdit = $MarginContainer/VBoxContainer/UserName
@onready var login_status_label: Label = $MarginContainer/VBoxContainer/LoginStatusLabel
func _enter_tree() -> void:
@@ -22,6 +25,9 @@ func _ready() -> void:
playlist_generator.load_playlist()
refresh_option_list()
continue_text_check()
user_name.text = GameGlobals.user_names[GameGlobals.user_id]
login_status()
func _on_continue_pressed() -> void:
@@ -79,3 +85,11 @@ func _on_confirm_pressed() -> void:
func _on_option_button_item_selected(index: int) -> void:
GameGlobals.last_leaderboard_id = option_button.selected
continue_text_check()
func _on_user_name_text_changed() -> void:
GameGlobals.user_names[GameGlobals.user_id] = user_name.text
func login_status():
if Firebase.Auth.check_auth_file():
login_status_label.text = "Logged in"

View File

@@ -68,6 +68,7 @@ var gun_is_holstered = false
@onready var level_control = get_tree().current_scene
@onready var interact_ray = $Head/Recoil/Camera3D/InteractRay
@onready var bullet_ray = $Head/Recoil/Camera3D/BulletRay
@onready var gun_look_target: Marker3D = $Head/Recoil/Camera3D/BulletRay/GunLookTarget
@onready var wall_ray_1: RayCast3D = $wall_ray1
@onready var wall_ray_2: RayCast3D = $wall_ray2
@onready var wall_ray_3: RayCast3D = $wall_ray3
@@ -695,12 +696,18 @@ func weapon_tilt(input_x, delta):
camera.rotation.z = lerp(camera.rotation.z, -input_x * HEAD_TILT_AMT, 5 * delta)
func weapon_sway(delta):
#aim gun at center screen
if !gun_ray.is_colliding():
gun.look_at(gun_look_target.global_position)
#apply sway
if !ads:
var joy_input = Vector2(Input.get_joy_axis(0,JOY_AXIS_RIGHT_X)*5,Input.get_joy_axis(0,JOY_AXIS_RIGHT_Y)*5)
mouse_input = lerp(mouse_input, Vector2.ZERO, 10 * delta)
joy_input = lerp(joy_input,Vector2.ZERO,10 * delta)
weapon_holder.rotation.x = lerp(weapon_holder.rotation.x, (mouse_input.y + joy_input.y) * weapon_sway_amount, 5 * delta)
weapon_holder.rotation.y = lerp(weapon_holder.rotation.y, (mouse_input.x + joy_input.x) * weapon_sway_amount, 5 * delta)
else:
if gun != null:
if gun.weapon_info.ads == true:

View File

@@ -149,6 +149,7 @@ func load_user_data():
func save_game_data(level_name):
Leaderboard.save_leaderboard_data()
var level_control = get_tree().current_scene
var player = level_control.player
var game_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_last_level","_data.save")

View File

@@ -10,7 +10,7 @@ extends Node3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
Leaderboard.load_leaderboard_data()
# Called every frame. 'delta' is the elapsed time since the previous frame.