예제 #1
0
        private static void OnClient(IntPtr thisptr, IntPtr pvParam)
        {
            Action <ComputeNewPlayerCompatibilityResult_t> action = ComputeNewPlayerCompatibilityResult_t.actionClient;

            if (action != null)
            {
                action(ComputeNewPlayerCompatibilityResult_t.Fill(pvParam));
            }
            else
            {
            }
        }
예제 #2
0
        public static async Task <ComputeNewPlayerCompatibilityResult_t?> GetResultAsync(SteamAPICall_t handle)
        {
            ComputeNewPlayerCompatibilityResult_t?nullable;
            bool flag = false;

            while (!SteamUtils.IsCallComplete(handle, out flag))
            {
                await Task.Delay(1);

                if ((SteamClient.IsValid ? false : !SteamServer.IsValid))
                {
                    nullable = null;
                    return(nullable);
                }
            }
            if (!flag)
            {
                IntPtr intPtr = Marshal.AllocHGlobal(ComputeNewPlayerCompatibilityResult_t.StructSize);
                try
                {
                    if (!(!SteamUtils.Internal.GetAPICallResult(handle, intPtr, ComputeNewPlayerCompatibilityResult_t.StructSize, 211, ref flag) | flag))
                    {
                        nullable = new ComputeNewPlayerCompatibilityResult_t?(ComputeNewPlayerCompatibilityResult_t.Fill(intPtr));
                    }
                    else
                    {
                        nullable = null;
                    }
                }
                finally
                {
                    Marshal.FreeHGlobal(intPtr);
                }
            }
            else
            {
                nullable = null;
            }
            return(nullable);
        }