using QSB.AuthoritySync; using QSB.Messaging; using QSB.OrbSync.WorldObjects; using QSB.WorldSync; namespace QSB.OrbSync.Messages { public class OrbDragMessage : QSBBoolWorldObjectMessage { public OrbDragMessage(bool isDragging) => Value = isDragging; public OrbDragMessage() { } public override void OnReceiveLocal() { var qsbOrb = QSBWorldSync.GetWorldFromId(ObjectId); if (QSBCore.IsHost && Value) { qsbOrb.TransformSync.NetIdentity.UpdateAuthQueue(From, AuthQueueAction.Force); } } public override void OnReceiveRemote() { var qsbOrb = QSBWorldSync.GetWorldFromId(ObjectId); if (QSBCore.IsHost && Value) { qsbOrb.TransformSync.NetIdentity.UpdateAuthQueue(From, AuthQueueAction.Force); } qsbOrb.SetDragging(Value); } } }