/// <summary>
 /// Display the CrewMember pop-up
 /// </summary>
 private void ShowPopUp()
 {
     UIManagement.MemberMeeting.SetUpDisplay(CrewMember, _source.ToString());
     UIManagement.Tutorial.ShareEvent(GetType().Name, MethodBase.GetCurrentMethod().Name, CrewMember.Name);
     if (Usable)
     {
         transform.SetParent(_currentPlacement?.RectTransform() ?? _defaultParent, false);
         transform.position = transform.parent.position;
         transform.RectTransform().anchoredPosition = Vector2.zero;
     }
 }
    /// <summary>
    /// Place the CrewMember to be in-line with the Position it is now paired with
    /// </summary>
    public void Place(PositionUI positionUI, bool swap = false)
    {
        if (!swap && _currentPlacement)
        {
            _currentPlacement.RemoveCrew();
        }
        var currentPositionCrew = positionUI.CrewMemberUI;
        var positionTransform   = positionUI.RectTransform();

        transform.SetParent(null, false);
        CrewMember.Assign(positionUI.Position);
        positionUI.LinkCrew(this);
        //if this CrewMember isn't being placed due to a swap, check if there's a CrewMember in this position and cause a swap
        if (!swap)
        {
            if (currentPositionCrew != null)
            {
                if (_currentPlacement != null)
                {
                    currentPositionCrew.Place(_currentPlacement, true);
                }
                else
                {
                    currentPositionCrew.OnReset();
                }
            }
        }
        //set size and position
        transform.SetParent(positionTransform, false);
        _aspectFitter.aspectMode = AspectRatioFitter.AspectMode.FitInParent;
        transform.position       = positionTransform.position;
        transform.RectTransform().anchoredPosition = Vector2.zero;
        _currentPlacement = positionUI;
        SetPosition(positionUI.Position);
        //update current position button
        UIManagement.Tutorial.ShareEvent(GetType().Name, MethodBase.GetCurrentMethod().Name, CrewMember.Name);
        SetSortValue(_sortValue);
    }