コード例 #1
0
        internal static void AddAndRemoveWhere <T>(this ListAsset <T> list, T value, Func <T, T, bool> cond)
        {
            var v = list.Where(x => cond(value, x)).ToList();

            foreach (var a in v)
            {
                list.items.Remove(a);
            }
            list.items.Add(value);
        }
コード例 #2
0
        internal static void AddAndRemoveRangeWhere <T>(this ListAsset <T> list, IEnumerable <T> range, Func <T, T, bool> cond)
        {
            var listToAdd = range.ToList();

            var v = list.Where(x => listToAdd.Any(y => cond(x, y))).ToList();

            foreach (var a in v)
            {
                list.items.Remove(a);
            }
            list.items.AddRange(listToAdd);
        }