Pawn bodies split out, character select redesigned, and started the dreaded process of correcting the netcode. Players can connect to a shared room, character select, and start a match. They appear correctly differentiated with cameras and map icons that follow them independently. Jankiness with trap ownership is present as is stuff connected to animation. Unit tests for all network functionality required.

This commit is contained in:
2026-03-10 01:41:15 -04:00
parent 984567cf96
commit d128501f7c
52 changed files with 1179 additions and 929 deletions

View File

@@ -0,0 +1,25 @@
class_name PawnPickPortrait extends Panel
@onready var portrait : TextureRect = %Portrait
@onready var cover : Control = %Cover
var pawn : PawnBaseData
var pawn_idx : int
var _players : int = 0
var num_players : int :
get:
return _players
set(value):
_players = value
if cover != null:
cover.visible = (_players == 0)
func _ready() -> void:
pass
func setup(data : PawnBaseData, idx : int) -> void:
pawn = data
pawn_idx = idx
if portrait != null:
portrait.texture = data.portrait