public ISteamMatchmakingRulesResponse(RulesResponded onRulesResponded, RulesFailedToRespond onRulesFailedToRespond, RulesRefreshComplete onRulesRefreshComplete)
        {
            m_RulesResponded       = onRulesResponded;
            m_RulesFailedToRespond = onRulesFailedToRespond;
            m_RulesRefreshComplete = onRulesRefreshComplete;

            m_VTable = new VTable()
            {
                m_VTRulesResponded       = InternalOnRulesResponded,
                m_VTRulesFailedToRespond = InternalOnRulesFailedToRespond,
                m_VTRulesRefreshComplete = InternalOnRulesRefreshComplete
            };
            m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
            Marshal.StructureToPtr(m_VTable, m_pVTable, false);

            m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
        }
 public ISteamMatchmakingRulesResponse(RulesResponded onRulesResponded, RulesFailedToRespond onRulesFailedToRespond, RulesRefreshComplete onRulesRefreshComplete)
 {
     if (onRulesResponded == null || onRulesFailedToRespond == null || onRulesRefreshComplete == null)
     {
         throw new ArgumentNullException();
     }
     m_RulesResponded       = onRulesResponded;
     m_RulesFailedToRespond = onRulesFailedToRespond;
     m_RulesRefreshComplete = onRulesRefreshComplete;
     m_VTable = new VTable
     {
         m_VTRulesResponded       = new InternalRulesResponded(InternalOnRulesResponded),
         m_VTRulesFailedToRespond = new InternalRulesFailedToRespond(InternalOnRulesFailedToRespond),
         m_VTRulesRefreshComplete = new InternalRulesRefreshComplete(InternalOnRulesRefreshComplete)
     };
     m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
     Marshal.StructureToPtr(m_VTable, m_pVTable, false);
     m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
 }
示例#3
0
		public ISteamMatchmakingRulesResponse(RulesResponded onRulesResponded, RulesFailedToRespond onRulesFailedToRespond, RulesRefreshComplete onRulesRefreshComplete) {
			if (onRulesResponded == null || onRulesFailedToRespond == null || onRulesRefreshComplete == null) {
				throw new ArgumentNullException();
			}
			m_RulesResponded = onRulesResponded;
			m_RulesFailedToRespond = onRulesFailedToRespond;
			m_RulesRefreshComplete = onRulesRefreshComplete;

			m_VTable = new VTable() {
				m_VTRulesResponded = InternalOnRulesResponded,
				m_VTRulesFailedToRespond = InternalOnRulesFailedToRespond,
				m_VTRulesRefreshComplete = InternalOnRulesRefreshComplete
			};
			m_pVTable = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VTable)));
			Marshal.StructureToPtr(m_VTable, m_pVTable, false);

			m_pGCHandle = GCHandle.Alloc(m_pVTable, GCHandleType.Pinned);
		}
示例#4
0
        }                                                  // Dummy constructor

        public ISteamMatchmakingRulesResponse(RulesResponded onRulesResponded, RulesFailedToRespond onRulesFailedToRespond, RulesRefreshComplete onRulesRefreshComplete)
        {
        }                                                                                                                                                                           // 0x00000001802A7060-0x00000001802A72D0