private void FixedUpdate() { if (sentient != null && sentient.InInteractionRange) { sentient.Interact(); return; } if (movement.CanReceiveInput) { var seenInteractions = vision?.AllInVision; if (canAssignPriorities) { var priorities = priorityEvaluator?.GetTargetPriorities(); if (priorities != null) { (selectedMovementStrat as IAwareMover).SetPriorities(priorities); } else { //UnityEngine.Debug.LogError($"Assigned smart priorities Strategies move selector, but sentient object has no way to get priorities on {name}"); } } if (selectedMovementStrat.GetNextMovement(seenInteractions, transform.position, out var move, out var vec)) { moveDirection = vec; movement.RegisterAction(move); } } }