private bool ProcessMove(Transform wall, Transform newLocation)
    {
        if (wall != null)
        {
            Movements.AddToQueue(GiveStrike(wall, _currentLocation, newLocation));
            _strikePending = true;
            return(false);
        }

        Movements.AddToQueue(MoveToLocation(newLocation, _currentLocation));
        _currentLocation = newLocation;
        _solved         |= GetCoordinates(newLocation) == GetCoordinates(_destination);
        return(true);
    }
 private void ProcessCommandCoroutine(IEnumerator coroutine, object extraObject)
 {
     // Make sure we are holding the correct bomb or holdable
     if (extraObject is TwitchHoldable holdable && holdable.Holdable.HoldState != FloatingHoldable.HoldStateEnum.Held)
     {
         CoroutineQueue.AddToQueue(holdable.Hold());
     }