internal void InitWin32Engine(Int64 cbLog, Int64 cbExecuteCommand, Int64 cbRegisterCommand, Int64 cbUnregisterCommand, Int64 cbGetPlayers)
        {
            Engine_Win32 eng = new Engine_Win32(this);

            eng.m_cb_Log               = (LogDelegate)Marshal.GetDelegateForFunctionPointer(new IntPtr(cbLog), typeof(LogDelegate));
            eng.m_cb_ExecuteCommand    = (ExecuteCommandDelegate)Marshal.GetDelegateForFunctionPointer(new IntPtr(cbExecuteCommand), typeof(ExecuteCommandDelegate));
            eng.m_cb_RegisterCommand   = (RegisterCommandDelegate)Marshal.GetDelegateForFunctionPointer(new IntPtr(cbRegisterCommand), typeof(RegisterCommandDelegate));
            eng.m_cb_UnregisterCommand = (UnregisterCommandDelegate)Marshal.GetDelegateForFunctionPointer(new IntPtr(cbUnregisterCommand), typeof(UnregisterCommandDelegate));
            eng.m_cb_GetPlayers        = (GetPlayersDelegate)Marshal.GetDelegateForFunctionPointer(new IntPtr(cbGetPlayers), typeof(GetPlayersDelegate));
            this.m_engine              = eng;
        }
        internal void InitMonoEngine()
        {
            Engine_Mono eng = new Engine_Mono(this);

            this.m_engine = eng;
        }