SteamStructs.cs (9842B)
1 // This file is provided under The MIT License as part of Steamworks.NET. 2 // Copyright (c) 2013-2019 Riley Labrecque 3 // Please see the included LICENSE.txt for additional information. 4 5 // This file is automatically generated. 6 // Changes to this file will be reverted when you update Steamworks.NET 7 8 #if UNITY_ANDROID || UNITY_IOS || UNITY_TIZEN || UNITY_TVOS || UNITY_WEBGL || UNITY_WSA || UNITY_PS4 || UNITY_WII || UNITY_XBOXONE || UNITY_SWITCH 9 #define DISABLESTEAMWORKS 10 #endif 11 12 #if !DISABLESTEAMWORKS 13 14 using System.Runtime.InteropServices; 15 using IntPtr = System.IntPtr; 16 17 namespace Steamworks { 18 [StructLayout(LayoutKind.Sequential, Pack = 1)] 19 public struct ControllerAnalogActionData_t { 20 // Type of data coming from this action, this will match what got specified in the action set 21 public EControllerSourceMode eMode; 22 23 // The current state of this action; will be delta updates for mouse actions 24 public float x, y; 25 26 // Whether or not this action is currently available to be bound in the active action set 27 public byte bActive; 28 } 29 30 [StructLayout(LayoutKind.Sequential, Pack = 1)] 31 public struct ControllerDigitalActionData_t { 32 // The current state of this action; will be true if currently pressed 33 public byte bState; 34 35 // Whether or not this action is currently available to be bound in the active action set 36 public byte bActive; 37 } 38 39 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 40 public struct ControllerMotionData_t { 41 // Sensor-fused absolute rotation; will drift in heading 42 public float rotQuatX; 43 public float rotQuatY; 44 public float rotQuatZ; 45 public float rotQuatW; 46 47 // Positional acceleration 48 public float posAccelX; 49 public float posAccelY; 50 public float posAccelZ; 51 52 // Angular velocity 53 public float rotVelX; 54 public float rotVelY; 55 public float rotVelZ; 56 } 57 58 // friend game played information 59 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 60 public struct FriendGameInfo_t { 61 public CGameID m_gameID; 62 public uint m_unGameIP; 63 public ushort m_usGamePort; 64 public ushort m_usQueryPort; 65 public CSteamID m_steamIDLobby; 66 } 67 68 //----------------------------------------------------------------------------- 69 // Purpose: information about user sessions 70 //----------------------------------------------------------------------------- 71 public struct FriendSessionStateInfo_t { 72 public uint m_uiOnlineSessionInstances; 73 public byte m_uiPublishedToFriendsSessionInstance; 74 } 75 76 [StructLayout(LayoutKind.Sequential, Pack = 1)] 77 public struct InputAnalogActionData_t { 78 // Type of data coming from this action, this will match what got specified in the action set 79 public EInputSourceMode eMode; 80 81 // The current state of this action; will be delta updates for mouse actions 82 public float x, y; 83 84 // Whether or not this action is currently available to be bound in the active action set 85 public byte bActive; 86 } 87 88 [StructLayout(LayoutKind.Sequential, Pack = 1)] 89 public struct InputDigitalActionData_t { 90 // The current state of this action; will be true if currently pressed 91 public byte bState; 92 93 // Whether or not this action is currently available to be bound in the active action set 94 public byte bActive; 95 } 96 97 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 98 public struct InputMotionData_t { 99 // Sensor-fused absolute rotation; will drift in heading 100 public float rotQuatX; 101 public float rotQuatY; 102 public float rotQuatZ; 103 public float rotQuatW; 104 105 // Positional acceleration 106 public float posAccelX; 107 public float posAccelY; 108 public float posAccelZ; 109 110 // Angular velocity 111 public float rotVelX; 112 public float rotVelY; 113 public float rotVelZ; 114 } 115 116 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 117 public struct SteamItemDetails_t { 118 public SteamItemInstanceID_t m_itemId; 119 public SteamItemDef_t m_iDefinition; 120 public ushort m_unQuantity; 121 public ushort m_unFlags; // see ESteamItemFlags 122 } 123 124 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 125 public struct SteamPartyBeaconLocation_t { 126 public ESteamPartyBeaconLocationType m_eType; 127 public ulong m_ulLocationID; 128 } 129 130 // connection state to a specified user, returned by GetP2PSessionState() 131 // this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin 132 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 133 public struct P2PSessionState_t { 134 public byte m_bConnectionActive; // true if we've got an active open connection 135 public byte m_bConnecting; // true if we're currently trying to establish a connection 136 public byte m_eP2PSessionError; // last error recorded (see enum above) 137 public byte m_bUsingRelay; // true if it's going through a relay server (TURN) 138 public int m_nBytesQueuedForSend; 139 public int m_nPacketsQueuedForSend; 140 public uint m_nRemoteIP; // potential IP:Port of remote host. Could be TURN server. 141 public ushort m_nRemotePort; // Only exists for compatibility with older authentication api's 142 } 143 144 //----------------------------------------------------------------------------- 145 // Purpose: Structure that contains an array of const char * strings and the number of those strings 146 //----------------------------------------------------------------------------- 147 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 148 public struct SteamParamStringArray_t { 149 public IntPtr m_ppStrings; 150 public int m_nNumStrings; 151 } 152 153 // Details for a single published file/UGC 154 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 155 public struct SteamUGCDetails_t { 156 public PublishedFileId_t m_nPublishedFileId; 157 public EResult m_eResult; // The result of the operation. 158 public EWorkshopFileType m_eFileType; // Type of the file 159 public AppId_t m_nCreatorAppID; // ID of the app that created this file. 160 public AppId_t m_nConsumerAppID; // ID of the app that will consume this file. 161 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentTitleMax)] 162 public string m_rgchTitle; // title of document 163 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentDescriptionMax)] 164 public string m_rgchDescription; // description of document 165 public ulong m_ulSteamIDOwner; // Steam ID of the user who created this content. 166 public uint m_rtimeCreated; // time when the published file was created 167 public uint m_rtimeUpdated; // time when the published file was last updated 168 public uint m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable) 169 public ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility 170 [MarshalAs(UnmanagedType.I1)] 171 public bool m_bBanned; // whether the file was banned 172 [MarshalAs(UnmanagedType.I1)] 173 public bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop 174 [MarshalAs(UnmanagedType.I1)] 175 public bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer 176 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchTagListMax)] 177 public string m_rgchTags; // comma separated list of all tags associated with this file 178 // file/url information 179 public UGCHandle_t m_hFile; // The handle of the primary file 180 public UGCHandle_t m_hPreviewFile; // The handle of the preview file 181 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchFilenameMax)] 182 public string m_pchFileName; // The cloud filename of the primary file 183 public int m_nFileSize; // Size of the primary file 184 public int m_nPreviewFileSize; // Size of the preview file 185 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedFileURLMax)] 186 public string m_rgchURL; // URL (for a video or a website) 187 // voting information 188 public uint m_unVotesUp; // number of votes up 189 public uint m_unVotesDown; // number of votes down 190 public float m_flScore; // calculated score 191 // collection details 192 public uint m_unNumChildren; 193 } 194 195 // structure that contains client callback data 196 // see callbacks documentation for more details 197 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 198 public struct CallbackMsg_t { 199 public int m_hSteamUser; 200 public int m_iCallback; 201 public IntPtr m_pubParam; 202 public int m_cubParam; 203 } 204 205 // a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry() 206 [StructLayout(LayoutKind.Sequential, Pack = Packsize.value)] 207 public struct LeaderboardEntry_t { 208 public CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info 209 public int m_nGlobalRank; // [1..N], where N is the number of users with an entry in the leaderboard 210 public int m_nScore; // score as set in the leaderboard 211 public int m_cDetails; // number of int32 details available for this entry 212 public UGCHandle_t m_hUGC; // handle for UGC attached to the entry 213 } 214 215 /// Store key/value pair used in matchmaking queries. 216 /// 217 /// Actually, the name Key/Value is a bit misleading. The "key" is better 218 /// understood as "filter operation code" and the "value" is the operand to this 219 /// filter operation. The meaning of the operand depends upon the filter. 220 [StructLayout(LayoutKind.Sequential)] 221 public struct MatchMakingKeyValuePair_t { 222 MatchMakingKeyValuePair_t(string strKey, string strValue) { 223 m_szKey = strKey; 224 m_szValue = strValue; 225 } 226 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] 227 public string m_szKey; 228 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] 229 public string m_szValue; 230 } 231 232 } 233 234 #endif // !DISABLESTEAMWORKS