You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
 | 
						|
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq.Expressions;
 | 
						|
 | 
						|
namespace Valve.VR
 | 
						|
{
 | 
						|
    struct SteamVREnumEqualityComparer<TEnum> : IEqualityComparer<TEnum> where TEnum : struct
 | 
						|
    {
 | 
						|
        static class BoxAvoidance
 | 
						|
        {
 | 
						|
            static readonly Func<TEnum, int> _wrapper;
 | 
						|
 | 
						|
            public static int ToInt(TEnum enu)
 | 
						|
            {
 | 
						|
                return _wrapper(enu);
 | 
						|
            }
 | 
						|
 | 
						|
            static BoxAvoidance()
 | 
						|
            {
 | 
						|
                var p = Expression.Parameter(typeof(TEnum), null);
 | 
						|
                var c = Expression.ConvertChecked(p, typeof(int));
 | 
						|
 | 
						|
                _wrapper = Expression.Lambda<Func<TEnum, int>>(c, p).Compile();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        public bool Equals(TEnum firstEnum, TEnum secondEnum)
 | 
						|
        {
 | 
						|
            return BoxAvoidance.ToInt(firstEnum) == BoxAvoidance.ToInt(secondEnum);
 | 
						|
        }
 | 
						|
 | 
						|
        public int GetHashCode(TEnum firstEnum)
 | 
						|
        {
 | 
						|
            return BoxAvoidance.ToInt(firstEnum);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public struct SteamVR_Input_Sources_Comparer : IEqualityComparer<SteamVR_Input_Sources>
 | 
						|
    {
 | 
						|
        public bool Equals(SteamVR_Input_Sources x, SteamVR_Input_Sources y)
 | 
						|
        {
 | 
						|
            return x == y;
 | 
						|
        }
 | 
						|
 | 
						|
        public int GetHashCode(SteamVR_Input_Sources obj)
 | 
						|
        {
 | 
						|
            return (int)obj;
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |