StationObscurum/Assets/com.rlabrecque.steamworks.net/Runtime/CallbackIdentity.cs
2023-11-12 21:08:23 -05:00

36 lines
1.2 KiB
C#

// This file is provided under The MIT License as part of Steamworks.NET.
// Copyright (c) 2013-2022 Riley Labrecque
// Please see the included LICENSE.txt for additional information.
// This file is automatically generated.
// Changes to this file will be reverted when you update Steamworks.NET
#if !(UNITY_STANDALONE_WIN || UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX || STEAMWORKS_WIN || STEAMWORKS_LIN_OSX)
#define DISABLESTEAMWORKS
#endif
#if !DISABLESTEAMWORKS
namespace Steamworks {
class CallbackIdentities {
public static int GetCallbackIdentity(System.Type callbackStruct) {
#if UNITY_EDITOR || UNITY_STANDALONE || STEAMWORKS_WIN || STEAMWORKS_LIN_OSX
foreach (CallbackIdentityAttribute attribute in callbackStruct.GetCustomAttributes(typeof(CallbackIdentityAttribute), false)) {
return attribute.Identity;
}
#endif
throw new System.Exception("Callback number not found for struct " + callbackStruct);
}
}
[System.AttributeUsage(System.AttributeTargets.Struct, AllowMultiple = false)]
internal class CallbackIdentityAttribute : System.Attribute {
public int Identity { get; set; }
public CallbackIdentityAttribute(int callbackNum) {
Identity = callbackNum;
}
}
}
#endif // !DISABLESTEAMWORKS