test
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#if (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.InputSystem.Steam
|
||||
{
|
||||
/// <summary>
|
||||
/// A handle for a Steam controller API object typed <typeparamref name="TObject"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="TObject">A type used to type the Steam handle. The type itself isn't used other than
|
||||
/// for providing type safety to the Steam handle.</typeparam>
|
||||
public struct SteamHandle<TObject> : IEquatable<SteamHandle<TObject>>
|
||||
{
|
||||
private ulong m_Handle;
|
||||
|
||||
public SteamHandle(ulong handle)
|
||||
{
|
||||
m_Handle = handle;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("Steam({0}): {1}", typeof(TObject).Name, m_Handle);
|
||||
}
|
||||
|
||||
public bool Equals(SteamHandle<TObject> other)
|
||||
{
|
||||
return m_Handle == other.m_Handle;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (ReferenceEquals(null, obj))
|
||||
return false;
|
||||
return obj is SteamHandle<TObject> && Equals((SteamHandle<TObject>)obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return m_Handle.GetHashCode();
|
||||
}
|
||||
|
||||
public static bool operator==(SteamHandle<TObject> a, SteamHandle<TObject> b)
|
||||
{
|
||||
return a.m_Handle == b.m_Handle;
|
||||
}
|
||||
|
||||
public static bool operator!=(SteamHandle<TObject> a, SteamHandle<TObject> b)
|
||||
{
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
public static explicit operator ulong(SteamHandle<TObject> handle)
|
||||
{
|
||||
return handle.m_Handle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif // (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT
|
Reference in New Issue
Block a user