39 lines
1002 B
C#
39 lines
1002 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace MafiaCommon
|
|
{
|
|
public static class ListUtils
|
|
{
|
|
public static void Shuffle<T> (this Random rng, T[] array)
|
|
{
|
|
var n = array.Length;
|
|
while (n > 1)
|
|
{
|
|
var k = rng.Next(n--);
|
|
var temp = array[n];
|
|
array[n] = array[k];
|
|
array[k] = temp;
|
|
}
|
|
}
|
|
|
|
public static T[] RemoveFromArray<T> (this T[] original, int numIdx) {
|
|
if (numIdx == -1) return original;
|
|
var tmp = new List<T>(original);
|
|
tmp.RemoveAt(numIdx);
|
|
return tmp.ToArray();
|
|
}
|
|
|
|
public static void AddEmpty<T>(this Dictionary<T, int> original, T id, int add)
|
|
{
|
|
if (original.ContainsKey(id))
|
|
{
|
|
original[id] += add;
|
|
}
|
|
else
|
|
{
|
|
original.Add(id,add);
|
|
}
|
|
}
|
|
}
|
|
} |