Merge branch 'master' into Basic-C2S-SyncVars

This commit is contained in:
MrGadget1024 2022-12-31 08:39:32 -05:00
commit b00e37c633
2 changed files with 11 additions and 5 deletions

View File

@ -133,7 +133,7 @@ protected virtual void OnClientToServerSync(Vector3? position, Quaternion? rotat
target.localScale); target.localScale);
// Debug.Log($"{name}: corrected history on server to fix initial stutter after not sending for a while."); // Debug.Log($"{name}: corrected history on server to fix initial stutter after not sending for a while.");
} }
AddSnapshot(serverSnapshots, connectionToClient.remoteTimeStamp, position, rotation, scale); AddSnapshot(serverSnapshots, connectionToClient.remoteTimeStamp, position, rotation, scale);
} }
@ -310,7 +310,11 @@ void UpdateServer()
// -> don't apply for host mode player objects either, even if in // -> don't apply for host mode player objects either, even if in
// client authority mode. if it doesn't go over the network, // client authority mode. if it doesn't go over the network,
// then we don't need to do anything. // then we don't need to do anything.
if (syncDirection == SyncDirection.ClientToServer && !isOwned) // -> connectionToClient is briefly null after scene changes:
// https://github.com/MirrorNetworking/Mirror/issues/3329
if (syncDirection == SyncDirection.ClientToServer &&
connectionToClient != null &&
!isOwned)
{ {
if (serverSnapshots.Count > 0) if (serverSnapshots.Count > 0)
{ {

View File

@ -1,8 +1,6 @@
// NetworkTransform V2 by mischa (2021-07) // NetworkTransform V2 by mischa (2021-07)
// comment out the below line to quickly revert the onlySyncOnChange feature // comment out the below line to quickly revert the onlySyncOnChange feature
#define onlySyncOnChange_BANDWIDTH_SAVING #define onlySyncOnChange_BANDWIDTH_SAVING
using System;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
namespace Mirror namespace Mirror
@ -234,7 +232,11 @@ void UpdateServer()
// -> don't apply for host mode player objects either, even if in // -> don't apply for host mode player objects either, even if in
// client authority mode. if it doesn't go over the network, // client authority mode. if it doesn't go over the network,
// then we don't need to do anything. // then we don't need to do anything.
if (syncDirection == SyncDirection.ClientToServer && !isOwned) // -> connectionToClient is briefly null after scene changes:
// https://github.com/MirrorNetworking/Mirror/issues/3329
if (syncDirection == SyncDirection.ClientToServer &&
connectionToClient != null &&
!isOwned)
{ {
if (serverSnapshots.Count > 0) if (serverSnapshots.Count > 0)
{ {