fix_portage

This commit is contained in:
Stephane MAURO 2026-04-18 11:00:36 +00:00
parent b0c0941952
commit 8830602a8e
4 changed files with 1486 additions and 1 deletions

View File

@ -3,4 +3,4 @@ gfx-enable-native-gfx-jobs=1
wait-for-native-debugger=0
hdr-display-enabled=0
gc-max-time-slice=3
build-guid=7c178961783345d483f76d6f1fad2a38
build-guid=e778e91ac99847908610029fa6e532a7

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,47 @@
# Fix : Portage d'équipements invisible en multi
## Le problème
Avec `NetworkTransform Client-to-Server` sur les prefabs d'équipements, les autres joueurs ne voyaient plus les équipements portés suivre le joueur porteur. L'équipement restait figé à l'endroit où il avait été ramassé.
## La cause
`NetworkTransform Client-to-Server` exige que le client qui écrit les positions ait l'**authority** sur l'objet. Sans authority, Mirror **refuse** les mises à jour du client porteur et ne les propage pas aux autres clients.
`CmdRamasser` ne faisait pas ce transfert d'authority, contrairement au chariot qui l'avait déjà.
## Le fix
Un seul fichier modifié : **`PlayerInteraction.cs`**
Deux changements minimaux (10 lignes total) :
1. **`CmdRamasser`** : ajoute `AssignClientAuthority(connectionToClient)` pour que le client porteur puisse écrire la position pendant qu'il transporte
2. **`CmdPoser`** : ajoute `RemoveClientAuthority()` pour que le serveur redevienne autoritaire une fois l'objet posé
## Action à faire
Juste remplacer `Assets/Scripts/PlayerInteraction.cs` par le fichier fourni.
## Test à faire
### Test 1 — Portage local (toi)
1. Prends un serveur 1U → il doit te suivre comme avant (rien ne change pour toi)
### Test 2 — Portage vu par un autre joueur
1. Host + client
2. Le client prend un serveur 1U
3. **Attendu** : le host voit le serveur suivre le client partout
### Test 3 — Portage puis pose
1. Client prend un serveur, se déplace, le pose dans une baie
2. **Attendu** : le host voit le serveur bouger en temps réel, puis snapper dans la baie
### Test 4 — Non-régression : Déco/Reco après pose
1. Client pose un serveur dans une baie
2. Déco/reco
3. **Attendu** : le serveur est toujours dans la baie (comme avant le fix)
Si tout marche, on peut attaquer les 2 bugs restants :
- Câbles alim pendants après reco
- Serveurs éteints après reco