mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-01-01 03:32:38 +00:00
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Mirror
|
|
{
|
|
public static class Extensions
|
|
{
|
|
// string.GetHashCode is not guaranteed to be the same on all machines, but
|
|
// we need one that is the same on all machines. simple and stupid:
|
|
public static int GetStableHashCode(this string text)
|
|
{
|
|
unchecked
|
|
{
|
|
int hash = 23;
|
|
foreach (char c in text)
|
|
hash = hash * 31 + c;
|
|
return hash;
|
|
}
|
|
}
|
|
|
|
// previously in DotnetCompatibility.cs
|
|
// leftover from the UNET days. supposedly for windows store?
|
|
internal static string GetMethodName(this Delegate func)
|
|
{
|
|
#if NETFX_CORE
|
|
return func.GetMethodInfo().Name;
|
|
#else
|
|
return func.Method.Name;
|
|
#endif
|
|
}
|
|
|
|
// helper function to copy to List<T>
|
|
// C# only provides CopyTo(T[])
|
|
public static void CopyTo<T>(this IEnumerable<T> source, List<T> destination)
|
|
{
|
|
// foreach allocates. use AddRange.
|
|
destination.AddRange(source);
|
|
}
|
|
}
|
|
}
|