示例#1
0
        public string RenderView(Hashtable pModelResult)
        {
            List <Scene> all_scenes = (List <Scene>)pModelResult["hdata"];

            StringBuilder output = new StringBuilder();

            HTMLUtil.OL_O(ref output, "");
            foreach (Scene scene in all_scenes)
            {
                HTMLUtil.LI_O(ref output, String.Empty);
                output.Append(scene.RegionInfo.RegionName);
                HTMLUtil.OL_O(ref output, String.Empty);
                scene.ForEachScenePresence(delegate(ScenePresence av)
                {
                    Dictionary <string, string> queues = new Dictionary <string, string>();
                    if (av.ControllingClient is IStatsCollector)
                    {
                        IStatsCollector isClient = (IStatsCollector)av.ControllingClient;
                        queues = decodeQueueReport(isClient.Report());
                    }
                    HTMLUtil.LI_O(ref output, String.Empty);
                    output.Append(av.Name);
                    output.Append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
                    output.Append((av.IsChildAgent ? "Child" : "Root"));
                    if (av.AbsolutePosition == DefaultNeighborPosition)
                    {
                        output.Append("<br />Position: ?");
                    }
                    else
                    {
                        output.Append(string.Format("<br /><NOBR>Position: <{0},{1},{2}></NOBR>", (int)av.AbsolutePosition.X,
                                                    (int)av.AbsolutePosition.Y,
                                                    (int)av.AbsolutePosition.Z));
                    }
                    Dictionary <string, int> throttles = DecodeClientThrottles(av.ControllingClient.GetThrottlesPacked(1));

                    HTMLUtil.UL_O(ref output, String.Empty);

                    foreach (string throttlename in throttles.Keys)
                    {
                        HTMLUtil.LI_O(ref output, String.Empty);
                        output.Append(throttlename);
                        output.Append(":");
                        output.Append(throttles[throttlename].ToString());
                        if (queues.ContainsKey(throttlename))
                        {
                            output.Append("/");
                            output.Append(queues[throttlename]);
                        }
                        HTMLUtil.LI_C(ref output);
                    }
                    if (queues.ContainsKey("Incoming") && queues.ContainsKey("Outgoing"))
                    {
                        HTMLUtil.LI_O(ref output, "red");
                        output.Append("SEND:");
                        output.Append(queues["Outgoing"]);
                        output.Append("/");
                        output.Append(queues["Incoming"]);
                        HTMLUtil.LI_C(ref output);
                    }

                    HTMLUtil.UL_C(ref output);
                    HTMLUtil.LI_C(ref output);
                });
                HTMLUtil.OL_C(ref output);
            }
            HTMLUtil.OL_C(ref output);
            return(output.ToString());
        }