diff --git a/QSB/OrbSync/Events/OrbUserEvent.cs b/QSB/OrbSync/Events/OrbUserEvent.cs index 548e6c0f..5d003f64 100644 --- a/QSB/OrbSync/Events/OrbUserEvent.cs +++ b/QSB/OrbSync/Events/OrbUserEvent.cs @@ -55,7 +55,6 @@ namespace QSB.OrbSync.Events { orbSync.NetIdentity.SetAuthority(message.FromId); } - orbSync.enabled = true; if (!isLocal && !orbSync.Orb._isBeingDragged) { @@ -75,8 +74,6 @@ namespace QSB.OrbSync.Events orbSync.Orb._interactibleCollider.enabled = true; } } - - DebugLog.DebugWrite($"orb {message.ObjectId} drag {message.State}"); } } } diff --git a/QSB/Player/Events/RequestStateResyncEvent.cs b/QSB/Player/Events/RequestStateResyncEvent.cs index 0dc2925e..3fbb77d2 100644 --- a/QSB/Player/Events/RequestStateResyncEvent.cs +++ b/QSB/Player/Events/RequestStateResyncEvent.cs @@ -5,6 +5,8 @@ using QSB.ClientServerStateSync; using QSB.Events; using QSB.Messaging; using QSB.MeteorSync.WorldObjects; +using QSB.OrbSync; +using QSB.OrbSync.TransformSync; using QSB.QuantumSync; using QSB.Tools.TranslatorTool.TranslationSync; using QSB.Tools.TranslatorTool.TranslationSync.WorldObjects; @@ -75,6 +77,15 @@ namespace QSB.Player.Events { QSBEventManager.FireEvent(EventNames.QSBPlayerInformation); } + + // SPECIAL CASE: whoever owns the orbs sends their drag state + foreach (var sync in NomaiOrbTransformSync.Instances) + { + if (sync && sync.HasAuthority && sync.Orb) + { + QSBEventManager.FireEvent(EventNames.QSBOrbUser, OrbManager.Orbs.IndexOf(sync.Orb), sync.Orb._isBeingDragged); + } + } } finally {