コード例 #1
0
 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);
         }
     }
 }