using QSB.Messaging; using QSB.Player.Messages; using QSB.QuantumSync.WorldObjects; using QSB.WorldSync; using UnityEngine; namespace QSB.Player { internal class PlayerEntanglementWatcher : MonoBehaviour { private QuantumObject _previousCollidingQuantumObject; private void Update() { if (!QSBCore.IsInMultiplayer) { return; } if (!WorldObjectManager.AllObjectsReady) { return; } var controller = Locator.GetPlayerController(); if (controller == null) { return; } var collidingQuantumObject = controller._collidingQuantumObject; if (_previousCollidingQuantumObject != collidingQuantumObject) { var objectId = collidingQuantumObject != null ? QSBWorldSync.GetWorldFromUnity(collidingQuantumObject).ObjectId : -1; new PlayerEntangledMessage(objectId).Send(); _previousCollidingQuantumObject = collidingQuantumObject; } } } }