Axiom.Components.Paging.PageRequestQueue.ProcessRenderRequest C# (CSharp) Метод

ProcessRenderRequest() защищенный Метод

Process the render portion of a request (may be threaded)
protected ProcessRenderRequest ( Request r ) : void
r Request
Результат void
        protected void ProcessRenderRequest(Request r)
        {
            Log log = LogManager.Instance.DefaultLog;

            if (log.LogDetail == LoggingLevel.Verbose)
            {
                log.Write(LogMessageLevel.Trivial, false, "PageRequestQueue: processing render thread request " + r.RequestType +
                    " for page ID " + r.Page.PageID.Value + " world " + r.Section.World.Name + " : " +
                        r.Section.Name, null);
            }

            try
            {
                switch (r.RequestType)
                {
                    case RequestType.LoadPage:
                        {
                            // Allow procedural generation
                            if (r.Section.LoadProcedualPage(r.Page))
                            {
                                r.Page.ChangeStatus(UnitStatus.Prepared, UnitStatus.Loaded);
                            }
                            else
                            {
                                r.Page.Load();
                            }
                        }
                        break;
                    case RequestType.UnloadPage:
                        {
                            // Allow procedural generation
                            if (r.Section.UnloadProcedualPage(r.Page))
                            {
                                r.Page.ChangeStatus(UnitStatus.Loaded, UnitStatus.Prepared);
                            }
                            else
                            {
                                r.Page.Unload();
                            }
                            // Pass back to render thread to finalise
                            Request req = new Request(RequestType.UnpreparePage, r.Page, r.Section);
                            AddBackgroundRequest(req);
                        }
                        break;
                    case RequestType.DeletePage:
                        r.Page = null;
                        break;
                }
            }
            catch (Exception e)
            {
                LogManager.Instance.Write("Error processing render request: " +
                    e.Message);
            }
        }
    }