mirror of
				https://github.com/DerTyp7/defrain-shooter-unity.git
				synced 2025-11-03 22:58:59 +01: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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |