forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using UnityEngine.SceneManagement;
 | 
						|
 | 
						|
namespace FishNet.Serializing.Helping
 | 
						|
{
 | 
						|
 | 
						|
    public class GeneratedComparer<T>
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Compare if T is default.
 | 
						|
        /// </summary>
 | 
						|
        public static Func<T, bool> IsDefault { internal get; set; }
 | 
						|
        /// <summary>
 | 
						|
        /// Compare if T is the same as T2.
 | 
						|
        /// </summary>
 | 
						|
        public static Func<T, T, bool> Compare { internal get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    public class Comparers
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Returns if A equals B using EqualityCompare.
 | 
						|
        /// </summary>
 | 
						|
        /// <typeparam name="T"></typeparam>
 | 
						|
        /// <param name="a"></param>
 | 
						|
        /// <param name="b"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public static bool EqualityCompare<T>(T a, T b)
 | 
						|
        {
 | 
						|
            return EqualityComparer<T>.Default.Equals(a, b);
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool IsDefault<T>(T t)
 | 
						|
        {
 | 
						|
            return t.Equals(default(T));
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool IsEqualityCompareDefault<T>(T a)
 | 
						|
        {
 | 
						|
            return EqualityComparer<T>.Default.Equals(a, default(T));
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    internal class SceneComparer : IEqualityComparer<Scene>
 | 
						|
    {
 | 
						|
        public bool Equals(Scene a, Scene b)
 | 
						|
        {
 | 
						|
            if (!a.IsValid() || !b.IsValid())
 | 
						|
                return false;
 | 
						|
 | 
						|
            if (a.handle != 0 || b.handle != 0)
 | 
						|
                return (a.handle == b.handle);
 | 
						|
 | 
						|
            return (a.name == b.name);
 | 
						|
        }
 | 
						|
 | 
						|
        public int GetHashCode(Scene obj)
 | 
						|
        {
 | 
						|
            return obj.GetHashCode();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}
 |