Exemplo n.º 1
0
        //CheckBreakpoint should be after log of onenter/onexit/update, as it needs to flush msg to the client
        private static void CHECK_BREAKPOINT(Agent pAgent, BehaviorTask b, string action, EActionResult actionResult)
        {
#if !BEHAVIAC_RELEASE
            if (Config.IsLoggingOrSocketing)
            {
                string bpstr = GetTickInfo(pAgent, b, action);
                if (!string.IsNullOrEmpty(bpstr))
                {
                    LogManager.Log(pAgent, bpstr, actionResult, LogMode.ELM_tick);
                    if (Config.IsDebugging)
                    {
                        if (Workspace.CheckBreakpoint(pAgent, b, action, actionResult))
                        {
                            LogManager.Log(pAgent, bpstr, actionResult, LogMode.ELM_breaked);
                            LogManager.Flush(pAgent);
                            SocketUtils.Flush();

                            _MY_BREAKPOINT_BREAK_(pAgent, bpstr, actionResult);

                            LogManager.Log(pAgent, bpstr, actionResult, LogMode.ELM_continue);
                            LogManager.Flush(pAgent);
                            SocketUtils.Flush();
                        }
                    }
                }
            }
#endif
        }