public void RenderOnGUI() { GUILayout.BeginArea(new Rect(Screen.width - 200, 0, 200, Screen.height)); GUILayout.Label("Variables:"); GUILayout.Label("m_Ticket: " + m_Ticket); GUILayout.Label("m_pcbTicket: " + m_pcbTicket); GUILayout.Label("m_HAuthTicket: " + m_HAuthTicket); GUILayout.Label("m_VoiceLoopback: " + m_VoiceLoopback); GUILayout.EndArea(); GUILayout.BeginVertical("box"); m_ScrollPos = GUILayout.BeginScrollView(m_ScrollPos, GUILayout.Width(Screen.width - 215), GUILayout.Height(Screen.height - 33)); GUILayout.Label("GetHSteamUser() : " + SteamUser.GetHSteamUser()); GUILayout.Label("BLoggedOn() : " + SteamUser.BLoggedOn()); GUILayout.Label("GetSteamID() : " + SteamUser.GetSteamID()); //SteamUser.InitiateGameConnection() // N/A - Too Hard to test like this. //SteamUser.TerminateGameConnection() // ^ //SteamUser.TrackAppUsageEvent() // Legacy function with no documentation { string Buffer; bool ret = SteamUser.GetUserDataFolder(out Buffer, 260); GUILayout.Label("GetUserDataFolder(out Buffer, 260) : " + ret + " -- " + Buffer); } if (GUILayout.Button("StartVoiceRecording()")) { SteamUser.StartVoiceRecording(); print("SteamUser.StartVoiceRecording()"); } if (GUILayout.Button("StopVoiceRecording()")) { SteamUser.StopVoiceRecording(); print("SteamUser.StopVoiceRecording()"); } { uint Compressed; EVoiceResult ret = SteamUser.GetAvailableVoice(out Compressed); GUILayout.Label("GetAvailableVoice(out Compressed) : " + ret + " -- " + Compressed); if (ret == EVoiceResult.k_EVoiceResultOK && Compressed > 0) { byte[] DestBuffer = new byte[1024]; uint BytesWritten; ret = SteamUser.GetVoice(true, DestBuffer, 1024, out BytesWritten); //print("SteamUser.GetVoice(true, DestBuffer, 1024, out BytesWritten) : " + ret + " -- " + BytesWritten); if (ret == EVoiceResult.k_EVoiceResultOK && BytesWritten > 0) { byte[] DestBuffer2 = new byte[11025 * 2]; uint BytesWritten2; ret = SteamUser.DecompressVoice(DestBuffer, BytesWritten, DestBuffer2, (uint)DestBuffer2.Length, out BytesWritten2, 11025); //print("SteamUser.DecompressVoice(DestBuffer, BytesWritten, DestBuffer2, (uint)DestBuffer2.Length, out BytesWritten2, 11025) - " + ret + " -- " + BytesWritten2); if (ret == EVoiceResult.k_EVoiceResultOK && BytesWritten2 > 0) { AudioSource source; if (!m_VoiceLoopback) { m_VoiceLoopback = new GameObject("Voice Loopback"); source = m_VoiceLoopback.AddComponent <AudioSource>(); source.clip = AudioClip.Create("Testing!", 11025, 1, 11025, false); } else { source = m_VoiceLoopback.GetComponent <AudioSource>(); } float[] test = new float[11025]; for (int i = 0; i < test.Length; ++i) { test[i] = (short)(DestBuffer2[i * 2] | DestBuffer2[i * 2 + 1] << 8) / 32768.0f; } source.clip.SetData(test, 0); source.Play(); } } } } GUILayout.Label("GetVoiceOptimalSampleRate() : " + SteamUser.GetVoiceOptimalSampleRate()); { if (GUILayout.Button("GetAuthSessionTicket(Ticket, 1024, out pcbTicket)")) { m_Ticket = new byte[1024]; m_HAuthTicket = SteamUser.GetAuthSessionTicket(m_Ticket, 1024, out m_pcbTicket); print("SteamUser.GetAuthSessionTicket(Ticket, 1024, out pcbTicket) - " + m_HAuthTicket + " -- " + m_pcbTicket); } if (GUILayout.Button("BeginAuthSession(m_Ticket, (int)m_pcbTicket, SteamUser.GetSteamID())")) { if (m_HAuthTicket != HAuthTicket.Invalid && m_pcbTicket != 0) { EBeginAuthSessionResult ret = SteamUser.BeginAuthSession(m_Ticket, (int)m_pcbTicket, SteamUser.GetSteamID()); print("SteamUser.BeginAuthSession(m_Ticket, " + (int)m_pcbTicket + ", " + SteamUser.GetSteamID() + ") - " + ret); } else { print("Call GetAuthSessionTicket first!"); } } } if (GUILayout.Button("EndAuthSession(SteamUser.GetSteamID())")) { SteamUser.EndAuthSession(SteamUser.GetSteamID()); print("SteamUser.EndAuthSession(" + SteamUser.GetSteamID() + ")"); } if (GUILayout.Button("CancelAuthTicket(m_HAuthTicket)")) { SteamUser.CancelAuthTicket(m_HAuthTicket); print("SteamUser.CancelAuthTicket(" + m_HAuthTicket + ")"); } GUILayout.Label("UserHasLicenseForApp(SteamUser.GetSteamID(), SteamUtils.GetAppID()) : " + SteamUser.UserHasLicenseForApp(SteamUser.GetSteamID(), SteamUtils.GetAppID())); GUILayout.Label("BIsBehindNAT() : " + SteamUser.BIsBehindNAT()); if (GUILayout.Button("AdvertiseGame(CSteamID.NonSteamGS, TestConstants.k_IpAdress127_0_0_1, TestConstants.k_Port27015)")) { SteamUser.AdvertiseGame(CSteamID.NonSteamGS, TestConstants.k_IpAdress127_0_0_1, TestConstants.k_Port27015); print("SteamUser.AdvertiseGame(" + CSteamID.NonSteamGS + ", " + TestConstants.k_IpAdress127_0_0_1 + ", " + TestConstants.k_Port27015 + ")"); } if (GUILayout.Button("RequestEncryptedAppTicket(k_unSecretData, sizeof(uint))")) { byte[] k_unSecretData = System.BitConverter.GetBytes(0x5444); SteamAPICall_t handle = SteamUser.RequestEncryptedAppTicket(k_unSecretData, sizeof(uint)); OnEncryptedAppTicketResponseCallResult.Set(handle); print("SteamUser.RequestEncryptedAppTicket(" + k_unSecretData + ", " + sizeof(uint) + ") : " + handle); } if (GUILayout.Button("GetEncryptedAppTicket(rgubTicket, 1024, out cubTicket)")) { byte[] rgubTicket = new byte[1024]; uint cubTicket; bool ret = SteamUser.GetEncryptedAppTicket(rgubTicket, 1024, out cubTicket); print("SteamUser.GetEncryptedAppTicket(" + rgubTicket + ", " + 1024 + ", " + "out cubTicket" + ") : " + ret + " -- " + cubTicket); } // SpaceWar does not have trading cards, so this function will only ever return 0 and produce an annoying warning. if (GUILayout.Button("GetGameBadgeLevel(1, false)")) { int ret = SteamUser.GetGameBadgeLevel(1, false); print("SteamUser.GetGameBadgeLevel(" + 1 + ", " + false + ") : " + ret); } GUILayout.Label("GetPlayerSteamLevel() : " + SteamUser.GetPlayerSteamLevel()); if (GUILayout.Button("RequestStoreAuthURL(\"https://steampowered.com\")")) { SteamAPICall_t handle = SteamUser.RequestStoreAuthURL("https://steampowered.com"); OnStoreAuthURLResponseCallResult.Set(handle); print("SteamUser.RequestStoreAuthURL(" + "\"https://steampowered.com\"" + ") : " + handle); } GUILayout.Label("BIsPhoneVerified() : " + SteamUser.BIsPhoneVerified()); GUILayout.Label("BIsTwoFactorEnabled() : " + SteamUser.BIsTwoFactorEnabled()); GUILayout.Label("BIsPhoneIdentifying() : " + SteamUser.BIsPhoneIdentifying()); GUILayout.Label("BIsPhoneRequiringVerification() : " + SteamUser.BIsPhoneRequiringVerification()); if (GUILayout.Button("GetMarketEligibility()")) { SteamAPICall_t handle = SteamUser.GetMarketEligibility(); OnMarketEligibilityResponseCallResult.Set(handle); print("SteamUser.GetMarketEligibility() : " + handle); } GUILayout.EndScrollView(); GUILayout.EndVertical(); }