fix_portage
This commit is contained in:
parent
b0c0941952
commit
8830602a8e
@ -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
|
||||
|
||||
Binary file not shown.
1438
Patchs/fix_portage/PlayerInteraction.cs
Normal file
1438
Patchs/fix_portage/PlayerInteraction.cs
Normal file
File diff suppressed because it is too large
Load Diff
47
Patchs/fix_portage/README_FIX_PORTAGE.md
Normal file
47
Patchs/fix_portage/README_FIX_PORTAGE.md
Normal 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
|
||||
Loading…
x
Reference in New Issue
Block a user