protected void Page_Load(object sender, EventArgs e)
    {
        displayedPlayer = Globals.Galaxy.GetPlayer(Request["name"]);
        if (displayedPlayer == null)
        {
            return;
        }

        isOwner  = false;
        isAllied = false;
        if (Globals.Player != null)
        {
            if (Globals.Player.Name == displayedPlayer.Name)
            {
                isOwner = true;
            }
            if (Globals.Player.FactionName == displayedPlayer.FactionName)
            {
                isAllied = true;
            }
        }

        if (IsPostBack)
        {
            if (isOwner)
            {
                PurchaseUpgradeCheck();
                Globals.ResetGalaxy();
                displayedPlayer = Globals.Galaxy.GetPlayer(Request["name"]);
            }
        }
        else
        {
            if (!isOwner && isAllied)
            {
                lbSendBp.Visible    = true;
                tbBpAmmount.Visible = true;
                btnSendBp.Visible   = true;
            }
            var planet = Globals.Galaxy.GetPlanet(displayedPlayer.Name);
            lbPlanet.Text  = planet.ToHtml();
            lbFaction.Text = HtmlRenderingExtensions.GetFactionLink(displayedPlayer.FactionName);
        }

        imgRank.ImageUrl = displayedPlayer.Rank.GetImageUrl();
        lbName.Text      = displayedPlayer.Name + HtmlRenderingExtensions.GetFactionImage(displayedPlayer.FactionName);
        lbRankName.Text  = displayedPlayer.RankText;

        DisplayAwards(displayedPlayer);


        DisplayEvents();
        DisplayBuildPowerTable(displayedPlayer);
        DisplayUpgrades(displayedPlayer, isOwner);
    }
Exemple #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string pname = Request["name"];
            lbName.Text     = pname;
            displayedPlanet = Globals.Galaxy.Planets.SingleOrDefault(p => p.Name == pname);
            if (displayedPlanet == null)
            {
                return;
            }

            lbName.Text    += HtmlRenderingExtensions.GetFactionImage(displayedPlanet.FactionName);
            imgMap.ImageUrl = HtmlRenderingExtensions.GetMinimapUrl(displayedPlanet.MapName);
            if (Globals.Player != null && Globals.Player.Name == displayedPlanet.OwnerName)
            {
                lbRename.Visible  = true;
                tbName.Visible    = true;
                tbName.Text       = displayedPlanet.Name;
                btnSubmit.Visible = true;

                if (Globals.Player.HasChangedMap)
                {
                    ddMap.Visible = false;
                }
                else
                {
                    ddMap.Visible = true;
                    var items = Globals.Galaxy.GetAvailableMaps().OrderBy(x => x);
                    foreach (var c in items)
                    {
                        ddMap.Items.Add(c);
                    }
                    ddMap.SelectedValue = displayedPlanet.MapName;
                }
            }

            if (Globals.Player != null)
            {
                var fleet = Globals.Galaxy.Fleets.SingleOrDefault(f => f.OwnerName == Globals.MyPlayerName);
                if (fleet != null)
                {
                    btnSendFleet.Visible = true;
                    btnSendFleet.Text    = string.Format("Send blockade fleet to {0} ({1} turns)", displayedPlanet.Name, fleet.EtaToPlanet(displayedPlanet.ID, Globals.Galaxy));
                }
            }


            // events
            var sb = new StringBuilder();
            Globals.Galaxy.Events.Where(
                x => x.IsPlanetRelated(displayedPlanet.ID) && !x.IsHiddenFrom(Globals.MyFaction)).
            Reverse().ForEach(
                x => sb.AppendFormat("{0}: {1}<br/>\n", x.TimeOffset(Globals.Player), x.ToHtml()));

            litEvents.Text = sb.ToString();


            lbFaction.Text = HtmlRenderingExtensions.GetFactionLink(displayedPlanet.FactionName);
            planetOwner    = Globals.Galaxy.GetOwner(displayedPlanet.ID);
            if (planetOwner != null)
            {
                bool isOwner = false;
                if (Globals.Player != null)
                {
                    if (Globals.Player.Name == planetOwner.Name)
                    {
                        isOwner = true;
                    }
                }


                lbOwner.Text = planetOwner.ToHtml();
                if (planetOwner.FactionName != displayedPlanet.FactionName)
                {
                    lbFaction.Text += " <span style='color:red;'>(Occupied)</span>";
                }

                if (isOwner)
                {
                    tbDesciption.Text        = planetOwner.Description + "";
                    tbDesciption.Visible     = true;
                    btnSetDesciption.Visible = true;
                }

                DisplayPlanetStructures(displayedPlanet);
            }
            else
            {
                lbOwner.Text = "uncolonized";
            }

            litPlanetInfo.Text  = GetMapInfoTable(displayedPlanet.MapName, planetOwner != null ? planetOwner.Description : null);
            litPlanetInfo.Text += string.Format("<a href='heightmaps/{0}.jpg' target='_new'>Topological scan</a><br/><a target='_new' href='metalmaps/{0}.png'>Mineral scan</a>", displayedPlanet.MapName);
        }
    }
 void SetGeneralGalaxyInfo()
 {
     lbTurn.Text    = Globals.Galaxy.Turn.ToString();
     lbAttacks.Text = HtmlRenderingExtensions.GetFactionLink(Globals.Galaxy.OffensiveFaction.Name);
 }
    void RenderLeftBar()
    {
        var sb = new StringBuilder();

        var planetCounts = from p in Globals.Galaxy.Planets
                           where p.FactionName != null
                           group p by p.FactionName
                           into g orderby g.Key select new { Faction = g.Key, Count = g.Count() };

        int totalCount = 0;

        foreach (var ts in planetCounts)
        {
            totalCount += ts.Count;
        }

        sb.AppendFormat("<table cellpadding='0' cellspacing='0'><tr width='200' style='color:white;'>");
        var colorTable = new[] { "Blue", "Red" };
        int cnt        = 0;

        foreach (var pk in planetCounts)
        {
            sb.AppendFormat(
                "<td style='width:{0}px;height:20px;text-align:center;background-color:{3}'>{2}{1}</td>",
                pk.Count * 200 / totalCount,
                pk.Count,
                HtmlRenderingExtensions.GetFactionImage(pk.Faction),
                colorTable[cnt++ % colorTable.Length]);
        }
        sb.AppendFormat("</tr></table>\n");

        foreach (var faction in Globals.Galaxy.Factions)
        {
            var plList = Globals.Galaxy.Players.Where(p => p.FactionName == faction.Name);
            var list   = plList.ToList();

            sb.AppendFormat("<hr/>{0}<hr/>\n", HtmlRenderingExtensions.GetFactionLink(faction.Name));
            list.Sort(Player.CompareTo);
            for (int i = 1; i <= Math.Min(10, list.Count); i++)
            {
                var pl = list[list.Count - i];
                sb.AppendFormat("{0}. {1} ({2:f1})<br/>\n", i, pl.ToHtml(), pl.RankPoints);
            }
        }

        sb.AppendFormat("<hr/><a href='awardhall.aspx'>Awards Hall of Fame</a>\n");

        sb.AppendFormat("<hr/><a href='events.aspx'>Last events</a><hr/>\n");

        Globals.Galaxy.Events.Where(x => !x.IsHiddenFrom(Globals.MyFaction)).Reverse().Take(10).ForEach(
            x => sb.AppendFormat("{0}: <span style='color: white;'>{1}</span><br/>\n", x.TimeOffset(Globals.Player, true), x.ToHtml()));

        if (Globals.Player != null)
        {
            sb.AppendFormat(
                "<hr/><span style='color:white;'><a href='chat.aspx'>#{0} channel log</a></span><hr/>\n<span style='color:white;font-size:xx-small;'>",
                Globals.MyFaction);
            var chatEvents = Globals.Galaxy.GetFaction(Globals.MyFaction).ChatEvents;
            for (int i = Math.Max(chatEvents.Count - 100, 0); i < chatEvents.Count; i++)
            {
                var ce = chatEvents[i];
                sb.AppendFormat(
                    "<span style='color:aqua'>{0}</span>&nbsp;{1}<br/>\n",
                    Server.HtmlEncode(ce.Name),
                    Server.HtmlEncode(ce.Text));
            }
            sb.Append("</span>");
        }

        litPlayers.Text = sb.ToString();
    }
Exemple #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int         turn = int.Parse(Request["turn"]);
        BattleEvent b    = null;

        foreach (var ev in Globals.Galaxy.Events)
        {
            if (ev is BattleEvent && ev.Turn == turn)
            {
                b = ev as BattleEvent;
                break;
            }
        }
        if (b == null)
        {
            return;
        }

        var planet         = Globals.Galaxy.GetPlanet(b.PlanetID);
        var loggedInPlayer = Globals.Player;

        lbTitle.Text = "Battle on " + planet.Name + " turn " + b.Turn;
        //lbTime.Text = b.Time.ToString();
        lbTime.Text     = b.TimeOffset(loggedInPlayer);
        lbAttacker.Text = HtmlRenderingExtensions.GetFactionLink(b.Attacker);
        lbWinner.Text   = HtmlRenderingExtensions.GetFactionLink(b.Victor);
        lbPlanet.Text   = planet.ToHtml();

        var sb = new StringBuilder();

        sb.Append("<table style='border:0'>");

        int totalTime = 0;

        foreach (var p in b.EndGameInfos.Where(x => x.Spectator == false).OrderBy(x => x.Side))
        {
            int pTime = 0;
            if (!p.AliveTillEnd)
            {
                if (p.LoseTime > 0)
                {
                    pTime = p.LoseTime;
                }
                else
                if (p.LeaveTime > 0)
                {
                    pTime = p.LeaveTime;
                }
            }
            if (pTime > totalTime)
            {
                totalTime = pTime;
            }

            string awards = "";
            var    player = Globals.Galaxy.GetPlayer(p.Name);
            foreach (var aw in player.Awards.Where(
                         x => x.Turn == b.Turn && x.Round == b.Round))
            {
                awards += aw.Text + "<br/>";
            }
            string fixedFactionName =
                Globals.Galaxy.Factions.Single(x => x.Name.ToLower() == p.Side.ToLower()).Name;

            sb.AppendFormat(
                "<tr><td>{0}</td><td>{1}</td><td></td><td>{2}</td><td>{3}</td></tr>",
                player.ToHtml(),
                HtmlRenderingExtensions.GetFactionLink(fixedFactionName),
                pTime.ToTime(),
                awards);
        }

        lbLength.Text = totalTime.ToTime();
        sb.Append("</table>");
        sb.AppendFormat("<img src='{0}' style='width:200px; margin:4px; border: 1px aqua solid;'><br/>", HtmlRenderingExtensions.GetMinimapUrl(planet.MapName));
        litDetails.Text = sb.ToString();
    }