public void InitLightMass()
    {
        LogCb lcb = new LogCb(LightmassLogCb);

        ucNative.Invoke_Void <SetLogHandler>(nativeLibraryPtr, lcb);

        ucNative.Invoke_Void <SetGlobalSamplingParameters>(nativeLibraryPtr, 1000.0f);
    }
示例#2
0
        private void SendThread()
        {
            Random rand = new Random();

            LogCb lLog = (m) =>
            {
                if (this.lbLog.InvokeRequired)
                {
                    LogCb cb = new LogCb(Log);
                    lbLog.Invoke(cb, new object[] { m });
                }
                else
                {
                    Log(m);
                }
            };

            lLog("Thread started.");
            while (true)
            {
                var local_resp = emul.SendRandomPageRequest();
                if (local_resp.isSuccessful)
                {
                    lLog("Sended enter to the " + local_resp.page + " page. " + "[DBG]: Index is " + local_resp.index_in_local_list.ToString());
                }
                else
                {
                    lLog("Failed to send reqest page " + local_resp.page + " [DBG]: Index is " + local_resp.index_in_local_list.ToString());
                    if (cbAutoLoginIfDisconnected.Checked)
                    {
                        lLog("Trying to login again.");
                        bool logined = false;
                        for (int i = 0; i < 10; i++)
                        {
                            lLog("Try #" + i.ToString());
                            if (emul.TryLogin(tbLogin.Text, tbPassword.Text))
                            {
                                lLog("Succesfuly logined!");
                                logined = true;
                                break;
                            }
                            else
                            {
                                lLog("Failed to login...");
                                logined = false;
                            }
                        }
                        if (!logined)
                        {
                            break;
                        }
                    }
                }
                int delay = 40000;
                if (cbRandomTimestamp.Checked)
                {
                    delay += rand.Next(10000, 20000);
                }
                System.Threading.Thread.Sleep(delay);
            }
        }