コード例 #1
0
ファイル: PageUtility.cs プロジェクト: conan513/RealmPlayers
        public static string CreateStatsBars_Raphael(StatsBarStyle _StatsBarStyle, List <StatsBarData> _BarsData)
        {
            string graphSection = "<script>$(function () {if (g_RaphaelBarsDrawer == null) {g_RaphaelBarsDrawer = Raphael('diagramDiv', " + _StatsBarStyle.m_MaxWidth + ", " + (_BarsData.Count * 20) + ");}";

            foreach (var bar in _BarsData)
            {
                graphSection += "VF_CreateDmgBar(" + bar.m_PercentageWidth.ToString(System.Globalization.CultureInfo.InvariantCulture)
                                + ", '" + bar.m_BarColor + "', '" + bar.m_OnBarLeftText + "','" + _StatsBarStyle.m_BarTextColor + "', '" + bar.m_OnBarRightText + "');";
            }

            graphSection += "});";
            graphSection += "</script>";
            graphSection += "<div id='diagramDiv'></div>";
            return(graphSection);
        }
コード例 #2
0
ファイル: PageUtility.cs プロジェクト: conan513/RealmPlayers
        public static string CreateStatsBars_HTML(StatsBarStyle _StatsBarStyle, List <StatsBarData> _BarsData, int _ToggleViewMoreMaxCount, int _ToggleGroupID = -1)
        {
            //int beforeBarMaxSize = 0;
            //int afterBarMaxSize = 0;
            //foreach (var bar in _BarsData)
            //{
            //    if (bar.m_BeforeBarText != "")
            //    {
            //        if (beforeBarMaxSize < bar.m_BeforeBarText.Length)
            //            beforeBarMaxSize = bar.m_BeforeBarText.Length;
            //    }
            //    if (bar.m_AfterBarText != "")
            //    {
            //        if (afterBarMaxSize < bar.m_AfterBarText.Length)
            //            afterBarMaxSize = bar.m_AfterBarText.Length;
            //    }
            //}

            //int s_BeforeBarWidth = (beforeBarMaxSize * 5);
            //int s_AfterBarWidth = (afterBarMaxSize * 5);
            //if (maxWidth < s_BeforeBarWidth + s_AfterBarWidth + 10)
            //    maxWidth = s_BeforeBarWidth + s_AfterBarWidth + 10;

            int maxBarWidth = _StatsBarStyle.m_MaxWidth - (_StatsBarStyle.m_BeforeBarWidth + _StatsBarStyle.m_AfterBarWidth + 10);
            int barLeft     = (_StatsBarStyle.m_BeforeBarWidth + 5);

            if (_StatsBarStyle.m_BeforeBarWidth == 0)
            {
                maxBarWidth += 5;
                barLeft      = 0;
            }
            if (_StatsBarStyle.m_AfterBarWidth == 0)
            {
                maxBarWidth += 5;
            }

            System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(1000);

            if (g_StatsBarCounter >= 100)
            {
                g_StatsBarCounter -= 100;
            }
            ++g_StatsBarCounter;
            string statsBarID = "StatsBars_" + g_StatsBarCounter;

            stringBuilder.Append("<div class='VF_StatsBars' id='" + statsBarID + "'>");
            stringBuilder.Append("<style>");
            stringBuilder.Append(".VF_StatsBars .StatsBar1, .VF_StatsBars .StatsBar2 {width: " + _StatsBarStyle.m_MaxWidth + "px;}");
            stringBuilder.Append(".VF_StatsBars .BeforeBar {width: " + _StatsBarStyle.m_BeforeBarWidth + "px;}");
            stringBuilder.Append(".VF_StatsBars .ClassBar {position: absolute; left: " + barLeft + "px; color:" + _StatsBarStyle.m_BarTextColor + ";}");
            stringBuilder.Append(".VF_StatsBars .AfterBar {width: " + _StatsBarStyle.m_AfterBarWidth + "px;left: " + (_StatsBarStyle.m_MaxWidth - _StatsBarStyle.m_AfterBarWidth) + "px;}");
            stringBuilder.Append(".VF_StatsBars .ClassBar a { text-decoration: none; color:" + _StatsBarStyle.m_BarTextColor + ";}");
            stringBuilder.Append("</style>");
            stringBuilder.Append("<script>");
            stringBuilder.Append("var g_Expanded_" + statsBarID + " = false;");
            stringBuilder.Append("function Expand_" + statsBarID + "() {");
            stringBuilder.Append("if(g_Expanded_" + statsBarID + " == true) {");
            stringBuilder.Append("$('#" + statsBarID + "_DynamicShow').slideUp();");
            stringBuilder.Append("$('#" + statsBarID + "_ButtonShow').text('Show More');");
            stringBuilder.Append("} else {");
            stringBuilder.Append("$('#" + statsBarID + "_DynamicShow').slideDown();");
            stringBuilder.Append("$('#" + statsBarID + "_ButtonShow').text('Show Top " + _ToggleViewMoreMaxCount + "');");
            stringBuilder.Append("} g_Expanded_" + statsBarID + " = !g_Expanded_" + statsBarID + ";");
            stringBuilder.Append("}");
            if (_ToggleGroupID != -1)
            {
                stringBuilder.Append("var g_ExpandGroupFuncs_" + _ToggleGroupID + " = g_ExpandGroupFuncs_" + _ToggleGroupID + " || [];");
                stringBuilder.Append("g_ExpandGroupFuncs_" + _ToggleGroupID + ".push(Expand_" + statsBarID + ");");
                stringBuilder.Append("function Expand_Group_" + _ToggleGroupID + "() {");
                stringBuilder.Append("for(i = 0; i < g_ExpandGroupFuncs_" + _ToggleGroupID + ".length; ++i) {");
                stringBuilder.Append("g_ExpandGroupFuncs_" + _ToggleGroupID + "[i]();");
                stringBuilder.Append("}");
                stringBuilder.Append("}");
            }
            stringBuilder.Append("</script>");


            stringBuilder.Append("<div class='TopBar'>");
            {
                stringBuilder.Append("<div class='BeforeBar' style='text-align:center;'>" + _StatsBarStyle.m_LeftSideTitleText + "</div>");
                stringBuilder.Append("<div class='TopBarTitle'>" + _StatsBarStyle.m_TitleText + "</div>");
                stringBuilder.Append("<div class='AfterBar' style='text-align:center;'>" + _StatsBarStyle.m_RightSideTitleText + "</div>");
            }
            stringBuilder.Append("</div>");
            for (int i = 0; i < _BarsData.Count; ++i)
            {
                var    bar      = _BarsData[i];
                double barWidth = bar.m_PercentageWidth * maxBarWidth;

                if (i == _ToggleViewMoreMaxCount)
                {
                    stringBuilder.Append("<div id='" + statsBarID + "_DynamicShow' style='display: none;'>");
                }
                if (i % 2 == 0)
                {
                    stringBuilder.Append("<div class='StatsBar2'>");
                }
                else
                {
                    stringBuilder.Append("<div class='StatsBar1'>");
                }

                if (bar.m_BeforeBarText != "")
                {
                    stringBuilder.Append("<div class='BeforeBar'>" + bar.m_BeforeBarText + "</div>");
                }

                if (bar.m_OnBarTextWidth < 0)
                {
                    bar.m_OnBarTextWidth = (bar.m_OnBarLeftText.Length + bar.m_OnBarRightText.Length) * 1.4;
                }

                if (bar.m_OnBarTextWidth > barWidth * 1.25)// || (barWidth < 100 && bar.m_OnBarLeftText != "")
                {
                    stringBuilder.Append("<div class='ClassBar' style='border-color: rgba(0, 0, 0, 1); background-color: rgba(100, 100, 100, 1);'>");
                    {
                        stringBuilder.Append("<div class='OnBarLeft'>" + bar.m_OnBarLeftText + " " + bar.m_OnBarRightText + " &nbsp;</div>");
                        //if (bar.m_OnBarRightText != "")
                        //    graphSection += "<div class='OnBarRight'>" + bar.m_OnBarRightText + "</div>";
                    }
                    stringBuilder.Append("</div>");
                    stringBuilder.Append("<div class='ClassBar' style='background-color: " + bar.m_BarColor + ";width: " + barWidth.ToStringDot() + "px;'>");
                    stringBuilder.Append("</div>");
                }
                else
                {
                    stringBuilder.Append("<div class='ClassBar' style='background-color: " + bar.m_BarColor + ";width: " + barWidth.ToStringDot() + "px;'>");
                    {
                        stringBuilder.Append("<div class='OnBarLeft'>" + bar.m_OnBarLeftText + "</div>");
                        if (bar.m_OnBarRightText != "")
                        {
                            stringBuilder.Append("<div class='OnBarRight'>" + bar.m_OnBarRightText + "</div>");
                        }
                    }
                    stringBuilder.Append("</div>");
                }

                if (bar.m_AfterBarText != "")
                {
                    stringBuilder.Append("<div class='AfterBar'>" + bar.m_AfterBarText + "</div>");
                }

                stringBuilder.Append("</div>");//StatsBar
            }

            if (_BarsData.Count > _ToggleViewMoreMaxCount)
            {
                stringBuilder.Append("</div>"); //StatsBars_" + g_StatsBarCounter + "_After25
                stringBuilder.Append("<div class='TopBar'>");
                stringBuilder.Append("<div class='TopBarTitle'><a href='javascript:void(0)' onclick='" + (_ToggleGroupID != -1 ? ("Expand_Group_" + _ToggleGroupID + "();") : ("Expand_" + statsBarID + "();")) + "' id='" + statsBarID + "_ButtonShow'>Show More</a></div>");
                stringBuilder.Append("</div>");
            }

            stringBuilder.Append("</div>");
            return(stringBuilder.ToString());
        }