I updated everything to the latest Unity Editor. Also realized I had the wrong shaders on my hairs, those are fixed and the hairs look MUCH better!
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
 | 
						|
namespace UnityEngine.InputSystem.Users
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Handle for a user account in an external API.
 | 
						|
    /// </summary>
 | 
						|
    public struct InputUserAccountHandle : IEquatable<InputUserAccountHandle>
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// Symbolic name of the API that owns the handle.
 | 
						|
        /// </summary>
 | 
						|
        /// <remarks>
 | 
						|
        /// This essentially provides a namespace for <see cref="handle"/>.
 | 
						|
        ///
 | 
						|
        /// On PS4, for example, this will read "PS4" for user handles corresponding
 | 
						|
        /// to <c>sceUserId</c>.
 | 
						|
        ///
 | 
						|
        /// This will not be null or empty except if the handle is invalid.
 | 
						|
        /// </remarks>
 | 
						|
        public string apiName
 | 
						|
        {
 | 
						|
            get { return m_ApiName; }
 | 
						|
        }
 | 
						|
 | 
						|
        public ulong handle
 | 
						|
        {
 | 
						|
            get { return m_Handle; }
 | 
						|
        }
 | 
						|
 | 
						|
        public InputUserAccountHandle(string apiName, ulong handle)
 | 
						|
        {
 | 
						|
            if (string.IsNullOrEmpty(apiName))
 | 
						|
                throw new ArgumentNullException("apiName");
 | 
						|
 | 
						|
            m_ApiName = apiName;
 | 
						|
            m_Handle = handle;
 | 
						|
        }
 | 
						|
 | 
						|
        public override string ToString()
 | 
						|
        {
 | 
						|
            if (m_ApiName == null)
 | 
						|
                return base.ToString();
 | 
						|
 | 
						|
            return string.Format("{0}({1})", m_ApiName, m_Handle);
 | 
						|
        }
 | 
						|
 | 
						|
        public bool Equals(InputUserAccountHandle other)
 | 
						|
        {
 | 
						|
            return string.Equals(apiName, other.apiName) && Equals(handle, other.handle);
 | 
						|
        }
 | 
						|
 | 
						|
        public override bool Equals(object obj)
 | 
						|
        {
 | 
						|
            if (ReferenceEquals(null, obj))
 | 
						|
                return false;
 | 
						|
            return obj is InputUserAccountHandle && Equals((InputUserAccountHandle)obj);
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool operator==(InputUserAccountHandle left, InputUserAccountHandle right)
 | 
						|
        {
 | 
						|
            return left.Equals(right);
 | 
						|
        }
 | 
						|
 | 
						|
        public static bool operator!=(InputUserAccountHandle left, InputUserAccountHandle right)
 | 
						|
        {
 | 
						|
            return !left.Equals(right);
 | 
						|
        }
 | 
						|
 | 
						|
        public override int GetHashCode()
 | 
						|
        {
 | 
						|
            unchecked
 | 
						|
            {
 | 
						|
                return ((apiName != null ? apiName.GetHashCode() : 0) * 397) ^ handle.GetHashCode();
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private string m_ApiName;
 | 
						|
        private ulong m_Handle;
 | 
						|
    }
 | 
						|
}
 |