示例#1
0
                public ServedResult Render()
                {
                    var ret = new ServedResult("li");

                    ret.contentList.Add(Master.renderMonLink(mon, action.ToString(), LinkRenderOptions.All ^ LinkRenderOptions.Portrait));
                    ret.contentList.Add(" " + string.Format(message, amount, maximum) + "<br/>");

                    manyMons.Sort();

                    if (action == ActionType.MonIn)
                    {
                        foreach (var m in manyMons)
                        {
                            ret.contentList.Add(ServeImageClass($"monsters/{m.monsterTypeId}.png", "mon-portrait"));
                        }
                        ret.contentList.Add(ServeImageClass($"loads/move_right.png", "action-arrow"));
                        ret.contentList.Add(ServeImageClass($"loads/building_store_small.png", "storage"));
                    }
                    else if (action == ActionType.MonOut)
                    {
                        ret.contentList.Add(ServeImageClass($"loads/building_store_small.png", "storage"));
                        ret.contentList.Add(ServeImageClass($"loads/move_right.png", "action-arrow"));
                        foreach (var m in manyMons)
                        {
                            ret.contentList.Add(ServeImageClass($"monsters/{m.monsterTypeId}.png", "mon-portrait"));
                        }
                    }
                    else if (action == ActionType.RuneIn)
                    {
                        foreach (var r in manyRunes)
                        {
                            ret.contentList.Add(RuneRenderer.renderRune(r, true));
                        }
                        ret.contentList.Add(ServeImageClass($"loads/move_right.png", "action-arrow"));
                        ret.contentList.Add(ServeImageClass($"monsters/{mon.monsterTypeId}.png", "mon-portrait"));
                    }
                    else if (action == ActionType.RuneOut)
                    {
                        return(new ServedResult("span"));
                    }

                    return(ret);
                }
        protected static ServedResult renderLoad(Loadout l, Dictionary <Monster, List <Monster> > pairs)
        {
            var b = Program.builds.FirstOrDefault(bu => bu.ID == l.BuildID);
            var m = b.Mon;

            var li = new ServedResult("li");

            // render name
            var span = new ServedResult("span")
            {
                contentList =
                {
                    new ServedResult("a")
                    {
                        contentDic ={                  { "href", "\"javascript:showhide(" + m.Id.ToString() + ")\"" } }, contentList = { "+ load" }
                    },
                    " ",
                    renderMonLink(m)
                }
            };

            // render rune swaps
            var div = new ServedResult("div")
            {
                contentDic = { { "id", '"' + m.Id.ToString() + '"' },
                               //{ "class", "\"rune-container\"" }
                }
            };

            foreach (var r in l.Runes)
            {
                if (r == null)
                {
                    continue;
                }
                var rd   = RuneRenderer.renderRune(r);
                var hide = rd.contentList.FirstOrDefault(ele => ele.contentDic.Any(pr => pr.Value.ToString().Contains(r.Id.ToString() + "_")));
                hide.contentDic["style"] = (r.AssignedId == m.Id) ? "\"display:none;\"" : "";
                div.contentList.Add(rd);
            }
            if (l.Runes.All(r => r == null || r.AssignedId == m.Id))
            {
                div.contentDic.Add("style", "\"display:none;\"");
            }

            li.contentList.Add(span);
            li.contentList.Add(div);

            // list skillups
            if (pairs.ContainsKey(m))
            {
                var nl = new ServedResult("ul");
                nl.contentList.AddRange(pairs?[m]?.Select(mo => new ServedResult("li")
                {
                    contentList = { renderMonLink(mo, "- ", LinkRenderOptions.Grade | LinkRenderOptions.Level) }
                }));
                if (nl.contentList.Count == 0)
                {
                    nl.name = "br";
                }
                li.contentList.Add(nl);
            }

            return(li);
        }