234 lines
9.6 KiB
C#
234 lines
9.6 KiB
C#
// This file is provided under The MIT License as part of Steamworks.NET.
|
|
// Copyright (c) 2013-2019 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_ANDROID || UNITY_IOS || UNITY_TIZEN || UNITY_TVOS || UNITY_WEBGL || UNITY_WSA || UNITY_PS4 || UNITY_WII || UNITY_XBOXONE || UNITY_SWITCH
|
|
#define DISABLESTEAMWORKS
|
|
#endif
|
|
|
|
#if !DISABLESTEAMWORKS
|
|
|
|
using System.Runtime.InteropServices;
|
|
using IntPtr = System.IntPtr;
|
|
|
|
namespace Steamworks {
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
public struct ControllerAnalogActionData_t {
|
|
// Type of data coming from this action, this will match what got specified in the action set
|
|
public EControllerSourceMode eMode;
|
|
|
|
// The current state of this action; will be delta updates for mouse actions
|
|
public float x, y;
|
|
|
|
// Whether or not this action is currently available to be bound in the active action set
|
|
public byte bActive;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
public struct ControllerDigitalActionData_t {
|
|
// The current state of this action; will be true if currently pressed
|
|
public byte bState;
|
|
|
|
// Whether or not this action is currently available to be bound in the active action set
|
|
public byte bActive;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct ControllerMotionData_t {
|
|
// Sensor-fused absolute rotation; will drift in heading
|
|
public float rotQuatX;
|
|
public float rotQuatY;
|
|
public float rotQuatZ;
|
|
public float rotQuatW;
|
|
|
|
// Positional acceleration
|
|
public float posAccelX;
|
|
public float posAccelY;
|
|
public float posAccelZ;
|
|
|
|
// Angular velocity
|
|
public float rotVelX;
|
|
public float rotVelY;
|
|
public float rotVelZ;
|
|
}
|
|
|
|
// friend game played information
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct FriendGameInfo_t {
|
|
public CGameID m_gameID;
|
|
public uint m_unGameIP;
|
|
public ushort m_usGamePort;
|
|
public ushort m_usQueryPort;
|
|
public CSteamID m_steamIDLobby;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: information about user sessions
|
|
//-----------------------------------------------------------------------------
|
|
public struct FriendSessionStateInfo_t {
|
|
public uint m_uiOnlineSessionInstances;
|
|
public byte m_uiPublishedToFriendsSessionInstance;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
public struct InputAnalogActionData_t {
|
|
// Type of data coming from this action, this will match what got specified in the action set
|
|
public EInputSourceMode eMode;
|
|
|
|
// The current state of this action; will be delta updates for mouse actions
|
|
public float x, y;
|
|
|
|
// Whether or not this action is currently available to be bound in the active action set
|
|
public byte bActive;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
|
public struct InputDigitalActionData_t {
|
|
// The current state of this action; will be true if currently pressed
|
|
public byte bState;
|
|
|
|
// Whether or not this action is currently available to be bound in the active action set
|
|
public byte bActive;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct InputMotionData_t {
|
|
// Sensor-fused absolute rotation; will drift in heading
|
|
public float rotQuatX;
|
|
public float rotQuatY;
|
|
public float rotQuatZ;
|
|
public float rotQuatW;
|
|
|
|
// Positional acceleration
|
|
public float posAccelX;
|
|
public float posAccelY;
|
|
public float posAccelZ;
|
|
|
|
// Angular velocity
|
|
public float rotVelX;
|
|
public float rotVelY;
|
|
public float rotVelZ;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct SteamItemDetails_t {
|
|
public SteamItemInstanceID_t m_itemId;
|
|
public SteamItemDef_t m_iDefinition;
|
|
public ushort m_unQuantity;
|
|
public ushort m_unFlags; // see ESteamItemFlags
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct SteamPartyBeaconLocation_t {
|
|
public ESteamPartyBeaconLocationType m_eType;
|
|
public ulong m_ulLocationID;
|
|
}
|
|
|
|
// connection state to a specified user, returned by GetP2PSessionState()
|
|
// this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct P2PSessionState_t {
|
|
public byte m_bConnectionActive; // true if we've got an active open connection
|
|
public byte m_bConnecting; // true if we're currently trying to establish a connection
|
|
public byte m_eP2PSessionError; // last error recorded (see enum above)
|
|
public byte m_bUsingRelay; // true if it's going through a relay server (TURN)
|
|
public int m_nBytesQueuedForSend;
|
|
public int m_nPacketsQueuedForSend;
|
|
public uint m_nRemoteIP; // potential IP:Port of remote host. Could be TURN server.
|
|
public ushort m_nRemotePort; // Only exists for compatibility with older authentication api's
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Structure that contains an array of const char * strings and the number of those strings
|
|
//-----------------------------------------------------------------------------
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct SteamParamStringArray_t {
|
|
public IntPtr m_ppStrings;
|
|
public int m_nNumStrings;
|
|
}
|
|
|
|
// Details for a single published file/UGC
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct SteamUGCDetails_t {
|
|
public PublishedFileId_t m_nPublishedFileId;
|
|
public EResult m_eResult; // The result of the operation.
|
|
public EWorkshopFileType m_eFileType; // Type of the file
|
|
public AppId_t m_nCreatorAppID; // ID of the app that created this file.
|
|
public AppId_t m_nConsumerAppID; // ID of the app that will consume this file.
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentTitleMax)]
|
|
public string m_rgchTitle; // title of document
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentDescriptionMax)]
|
|
public string m_rgchDescription; // description of document
|
|
public ulong m_ulSteamIDOwner; // Steam ID of the user who created this content.
|
|
public uint m_rtimeCreated; // time when the published file was created
|
|
public uint m_rtimeUpdated; // time when the published file was last updated
|
|
public uint m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable)
|
|
public ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool m_bBanned; // whether the file was banned
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchTagListMax)]
|
|
public string m_rgchTags; // comma separated list of all tags associated with this file
|
|
// file/url information
|
|
public UGCHandle_t m_hFile; // The handle of the primary file
|
|
public UGCHandle_t m_hPreviewFile; // The handle of the preview file
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchFilenameMax)]
|
|
public string m_pchFileName; // The cloud filename of the primary file
|
|
public int m_nFileSize; // Size of the primary file
|
|
public int m_nPreviewFileSize; // Size of the preview file
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedFileURLMax)]
|
|
public string m_rgchURL; // URL (for a video or a website)
|
|
// voting information
|
|
public uint m_unVotesUp; // number of votes up
|
|
public uint m_unVotesDown; // number of votes down
|
|
public float m_flScore; // calculated score
|
|
// collection details
|
|
public uint m_unNumChildren;
|
|
}
|
|
|
|
// structure that contains client callback data
|
|
// see callbacks documentation for more details
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct CallbackMsg_t {
|
|
public int m_hSteamUser;
|
|
public int m_iCallback;
|
|
public IntPtr m_pubParam;
|
|
public int m_cubParam;
|
|
}
|
|
|
|
// a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry()
|
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
|
public struct LeaderboardEntry_t {
|
|
public CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info
|
|
public int m_nGlobalRank; // [1..N], where N is the number of users with an entry in the leaderboard
|
|
public int m_nScore; // score as set in the leaderboard
|
|
public int m_cDetails; // number of int32 details available for this entry
|
|
public UGCHandle_t m_hUGC; // handle for UGC attached to the entry
|
|
}
|
|
|
|
/// Store key/value pair used in matchmaking queries.
|
|
///
|
|
/// Actually, the name Key/Value is a bit misleading. The "key" is better
|
|
/// understood as "filter operation code" and the "value" is the operand to this
|
|
/// filter operation. The meaning of the operand depends upon the filter.
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public struct MatchMakingKeyValuePair_t {
|
|
MatchMakingKeyValuePair_t(string strKey, string strValue) {
|
|
m_szKey = strKey;
|
|
m_szValue = strValue;
|
|
}
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
|
|
public string m_szKey;
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
|
|
public string m_szValue;
|
|
}
|
|
|
|
}
|
|
|
|
#endif // !DISABLESTEAMWORKS
|