feature/godot-steam-integration #3

Merged
gskeough merged 13 commits from feature/godot-steam-integration into chris-dev 2024-12-10 03:28:25 +00:00
2 changed files with 9 additions and 58 deletions
Showing only changes of commit 0352b9487e - Show all commits

View File

@ -1,39 +1,33 @@
extends Node
var steamId: int
var username: String
var avatar_texture: ImageTexture
@export var ui_avatar: TextureRect
@export var ui_username: Label
func _ready() -> void:
var init_result = Steam.steamInit(true, 480)
if init_result["status"] <= 1: # Check if initialization was successful
GameConsole.print_line("Steam is running!")
if init_result["status"] <= 1:
_initialize()
else:
GameConsole.log_error("Steam failed to initialize: " + str(init_result))
func _initialize() -> void:
var steamId = Steam.getSteamID()
GameConsole.print_line("Steam ID: " + str(Steam.getFriendPersonaName(steamId)))
ui_username.text = "User: " + str(Steam.getFriendPersonaName(steamId))
steamId = Steam.getSteamID()
username = Steam.getFriendPersonaName(steamId)
GameConsole.print_line("Steam ID: " + username)
Steam.getPlayerAvatar()
Steam.avatar_loaded.connect(_on_avatar_loaded)
func _on_avatar_loaded(user_id: int, avatar_size: int, avatar_buffer: PackedByteArray) -> void:
GameConsole.print_line("Avatar loaded!")
func _on_avatar_loaded(_user_id: int, avatar_size: int, avatar_buffer: PackedByteArray) -> void:
var avatar_image: Image = Image.create_from_data(avatar_size, avatar_size, false, Image.FORMAT_RGBA8, avatar_buffer)
if avatar_size > 128:
avatar_image.resize(128, 128, Image.INTERPOLATE_LANCZOS)
if avatar_image != null:
GameConsole.print_line("Avatar image created for user: " + str(user_id))
avatar_texture = ImageTexture.create_from_image(avatar_image)
ui_avatar.texture = avatar_texture
else:
GameConsole.log_error("Failed to create avatar image!")

View File

@ -1,51 +1,8 @@
[gd_scene load_steps=3 format=3 uid="uid://huq7dxk5yvjk"]
[gd_scene load_steps=2 format=3 uid="uid://huq7dxk5yvjk"]
[ext_resource type="Script" path="res://assets/core/networking/NetworkManager.gd" id="1_dcack"]
[ext_resource type="Texture2D" uid="uid://c1y4hdhjwuu53" path="res://assets/icon.png" id="2_wjvcl"]
[node name="Main" type="Node"]
[node name="NetworkManager" type="Node" parent="." node_paths=PackedStringArray("ui_avatar", "ui_username")]
[node name="NetworkManager" type="Node" parent="."]
script = ExtResource("1_dcack")
ui_avatar = NodePath("../Canvas/SteamUI/VBoxContainer/Avatar")
ui_username = NodePath("../Canvas/SteamUI/VBoxContainer/Username")
[node name="Canvas" type="CanvasLayer" parent="."]
[node name="SteamUI" type="Control" parent="Canvas"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Canvas/SteamUI"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -64.0
offset_top = -77.5
offset_right = 64.0
offset_bottom = 77.5
grow_horizontal = 2
grow_vertical = 2
[node name="Avatar" type="TextureRect" parent="Canvas/SteamUI/VBoxContainer"]
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 2
texture = ExtResource("2_wjvcl")
expand_mode = 1
[node name="Username" type="Label" parent="Canvas/SteamUI/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
text = "User: "