private void _OnSelectListChanged(MainSelectList list, BaseUnit singleAdd, BaseUnit[] multiAdd, BaseUnit sub)
 {
     if (singleAdd != null)
     {
         _AddUnitItem(singleAdd, Count + 1);
     }
     else if (sub != null)
     {
         _RemoveUnitItem(list.IndexOf(sub));
     }
     else if (multiAdd != null)
     {
         _updateListShouldWait = true;
     }
 }
 private void _OnSelectListPostChanged(MainSelectList list, BaseUnit singleAdd, BaseUnit[] multiAdd, BaseUnit sub)
 {
     if (singleAdd == null && multiAdd == null && sub == null) // if cleared
     {
         if (!_ignoreItemList)
         {
             _ResetItemList();
         }
         return;
     }
     if (_updateListShouldWait && multiAdd == null)
     {
         return;
     }
     _UpdateSubtitle();
     _UpdateSelection();
     _updateListShouldWait = false;
 }