| 12345678910111213141516171819202122232425262728293031323334353637383940 | 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);        }    }}
 |