Steam integration working
This commit is contained in:
parent
b89eb1b74c
commit
4711a7c5e3
@ -1,11 +1,39 @@
|
||||
extends Node
|
||||
|
||||
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!")
|
||||
var steamId = Steam.getSteamID()
|
||||
GameConsole.print_line("Steam ID: " + str(Steam.getFriendPersonaName(steamId)))
|
||||
_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))
|
||||
|
||||
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!")
|
||||
|
||||
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!")
|
||||
|
@ -1,6 +1,51 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://huq7dxk5yvjk"]
|
||||
[gd_scene load_steps=3 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")]
|
||||
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: "
|
||||
|
@ -28,6 +28,10 @@ file_logging/enable_file_logging=true
|
||||
window/size/viewport_width=1280
|
||||
window/size/viewport_height=720
|
||||
|
||||
[dotnet]
|
||||
|
||||
project/assembly_name="Steamforged Skies"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PackedStringArray("res://addons/ingameconsole/plugin.cfg")
|
||||
|
Loading…
Reference in New Issue
Block a user