Fix: NetworkSchema — supprimer userId fantome, corriger ordre isReady

userId [Type(0)] inexistant cote serveur decalait tous les champs d un
cran : x recevait y, y recevait z, positions et rotations toutes fausses.
isReady etait en [Type(23)] alors que le serveur l envoie en index 20.
Les deux bugs cassaient toute la synchronisation reseau multi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 15:21:06 +02:00
parent f62eeab50d
commit 456d876847

View File

@@ -3,31 +3,30 @@ using Colyseus.Schema;
// Must match server-side defineTypes field order exactly // Must match server-side defineTypes field order exactly
public partial class NetworkPlayer : Schema public partial class NetworkPlayer : Schema
{ {
[Type(0, "int32")] public int userId = 0; [Type(0, "float32")] public float x = 0;
[Type(1, "float32")] public float x = 0; [Type(1, "float32")] public float y = 5;
[Type(2, "float32")] public float y = 5; [Type(2, "float32")] public float z = 0;
[Type(3, "float32")] public float z = 0; [Type(3, "float32")] public float vx = 0;
[Type(4, "float32")] public float vx = 0; [Type(4, "float32")] public float vy = 0;
[Type(5, "float32")] public float vy = 0; [Type(5, "float32")] public float vz = 0;
[Type(6, "float32")] public float vz = 0; [Type(6, "float32")] public float rx = 0;
[Type(7, "float32")] public float rx = 0; [Type(7, "float32")] public float ry = 0;
[Type(8, "float32")] public float ry = 0; [Type(8, "float32")] public float rz = 0;
[Type(9, "float32")] public float rz = 0; [Type(9, "float32")] public float rw = 1;
[Type(10, "float32")] public float rw = 1; [Type(10, "float64")] public double t = 0;
[Type(11, "float64")] public double t = 0; [Type(11, "string")] public string name = "";
[Type(12, "string")] public string name = ""; [Type(12, "float32")] public float colorR = 1;
[Type(13, "float32")] public float colorR = 1; [Type(13, "float32")] public float colorG = 1;
[Type(14, "float32")] public float colorG = 1; [Type(14, "float32")] public float colorB = 1;
[Type(15, "float32")] public float colorB = 1; [Type(15, "float32")] public float avx = 0;
[Type(16, "float32")] public float avx = 0; [Type(16, "float32")] public float avy = 0;
[Type(17, "float32")] public float avy = 0; [Type(17, "float32")] public float avz = 0;
[Type(18, "float32")] public float avz = 0; // Game state — order must match server defineTypes exactly
// Game state [Type(18, "boolean")] public bool isEliminated = false;
[Type(19, "boolean")] public bool isEliminated = false; [Type(19, "boolean")] public bool isQualified = false;
[Type(20, "boolean")] public bool isQualified = false; [Type(20, "boolean")] public bool isReady = false;
[Type(21, "int8")] public int team = 0; [Type(21, "int8")] public int team = 0;
[Type(22, "int8")] public int checkpointIndex = 0; [Type(22, "int8")] public int checkpointIndex = 0;
[Type(23, "boolean")] public bool isReady = false;
} }
public partial class NetworkState : Schema public partial class NetworkState : Schema