コード例 #1
0
 private void ExecuteTransfer(SettingSortVM sorter, int index, SettingSide sideToMoveTo)
 {
     if (sideToMoveTo == SettingSide.LEFT)
     {
         sorter.UpdateValues(sideToMoveTo);
         _possibleSettingList.Insert(index != -1 ? index : _possibleSettingList.Count, sorter);
         _settingList.Remove(sorter);
     }
     else if (sideToMoveTo == SettingSide.RIGHT)
     {
         sorter.UpdateValues(sideToMoveTo);
         _settingList.Insert(index != -1 ? index : _settingList.Count, sorter);
         _possibleSettingList.Remove(sorter);
     }
 }
コード例 #2
0
 //TODO: FIX TRANSFER WITH 3 ITEMS IN LIST -> DRAG TOP TO VERY BOTTOM AND IT TRIES INDEX 3. IF YOU TRY IN BETWEEN IT PUTS IT LAST IN LIST
 public void ExecuteListTransfer(SettingSortVM sorter, int index, string targetTag)
 {
     if (targetTag == "SettingList")
     {
         if (sorter.Side != SettingSide.RIGHT)
         {
             ExecuteTransfer(sorter, index, SettingSide.RIGHT);
         }
         else
         {
             _settingList.Remove(sorter);
             if (index > _settingList.Count)
             {
                 _settingList.Insert(index - 1, sorter);
             }
             else
             {
                 _settingList.Insert(index, sorter);
             }
         }
     }
     else if (targetTag == "PossibleSettingList")
     {
         if (sorter.Side != SettingSide.LEFT)
         {
             ExecuteTransfer(sorter, index, SettingSide.LEFT);
         }
         else
         {
             _possibleSettingList.Remove(sorter);
             if (index > _possibleSettingList.Count)
             {
                 _possibleSettingList.Insert(index - 1, sorter);
             }
             else
             {
                 _possibleSettingList.Insert(index, sorter);
             }
         }
     }
 }
コード例 #3
0
        private void InitialiseSettingList()
        {
            for (PartySort currentSort = _sorter; currentSort != null; currentSort = currentSort.EqualSorter)
            {
                PartySort freshSorter;
                if (currentSort.HasCustomSettings())
                {
                    freshSorter =
                        currentSort.GetType()
                        .GetConstructor(new[] { typeof(PartySort), typeof(bool), typeof(List <string>) })
                        ?.Invoke(new object[]
                                 { null, currentSort.Descending, currentSort.CustomSettingsList }) as PartySort;
                }
                else
                {
                    freshSorter = currentSort.GetType().GetConstructor(new[] { typeof(PartySort), typeof(bool) })
                                  ?.Invoke(new object[] { null, currentSort.Descending }) as PartySort;
                }

                var settingSortVM = new SettingSortVM(freshSorter, TransferSorter, SettingSide.RIGHT, _parent.OpenSubSetting);

                _settingList.Add(settingSortVM);
            }
        }
コード例 #4
0
 public void TransferSorter(SettingSortVM sorter, SettingSide side)
 {
     ExecuteTransfer(sorter, -1, side.GetOtherSide());
 }