Example #1
0
        // Get the upgrade cost for the current tower
        protected string CreateTowerUpgradeCost()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    // At the maximum level
                    if (t.Level == t.MaxLevel)
                    {
                        str = Localization.Get().Text("n_a");
                    }
                    else
                    {
                        int       cost = t.GetUpgradeCost();
                        GameState g    = GameState.Get();
                        if (cost > g.Money)
                        {
                            str = String.Format("<font color='#ff0000'>${0:N0}</font>", cost);
                        }
                        else
                        {
                            str = String.Format("${0:N0}", cost);
                        }
                    }
                }
            }

            return(str);
        }
Example #2
0
        void DrawLeftPanel(SpriteBatch DrawBatch)
        {
            const float fSmallSpacing = 22.0f;
            Color       StatColor     = Color.White;
            GameState   g             = GameState.Get();

            Vector2 vLeftPos = Vector2.Zero;

            vLeftPos.Y = GraphicsManager.Get().Height - m_LeftPanel.Height;
            DrawBatch.Draw(m_LeftPanel, vLeftPos, Color.White);

            // Text for selected tile
            Vector2 vSelectOffset = new Vector2(300, 150);

            if (g.SelectedTile != null)
            {
                Objects.Tower b = g.SelectedTile.Tower;
                // If there's a building on this tile, show its info
                if (b != null)
                {
                    string BuildingDisplay = b.Name;
                    DrawBatch.DrawString(m_FixedSmall, BuildingDisplay, vLeftPos + vSelectOffset, Color.White);
                    vSelectOffset.Y += fSmallSpacing;

                    string StatusDisplay = "";
                    if (b.IsBeingBuilt)
                    {
                        StatusDisplay = String.Format(m_BeingBuiltStr, b.BuildPercent);
                        DrawBatch.DrawString(m_FixedSmall, StatusDisplay,
                                             vLeftPos + vSelectOffset, Color.White);
                    }
                    else
                    {
                        StatusDisplay = m_ActiveStr;
                        StatColor     = Color.Green;

                        DrawBatch.DrawString(m_FixedSmall, StatusDisplay,
                                             vLeftPos + vSelectOffset, StatColor);
                    }

                    vSelectOffset.Y += fSmallSpacing * 2;
                }
                else if (!g.SelectedTile.Buildable)
                {
                    DrawBatch.DrawString(m_FixedSmall, m_EnemyStr, vLeftPos + vSelectOffset, Color.Red);
                    vSelectOffset.Y += fSmallSpacing;
                }
            }
        }
Example #3
0
        // Get the name of the current selected tower
        protected string CreateTowerName()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    str = t.Name;
                }
            }

            return(str);
        }
Example #4
0
        // Get the amount of refund for the current selected tower
        protected string CreateTowerRefund()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    str = String.Format("{0:N0}", t.GetRefundAmount());
                }
            }

            return(str);
        }
Example #5
0
        // Get the text describing the upgrade potential
        protected string CreateTowerUpgradeText()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    if (t.TowerType == eTowerType.Projectile)
                    {
                        str = Localization.Get().Text("upgrade_projectile");
                    }
                    else if (t.TowerType == eTowerType.Slow)
                    {
                        str = Localization.Get().Text("upgrade_slow");
                    }
                }
            }

            return(str);
        }
Example #6
0
        // Get the upgrade time for the current tower
        protected string CreateTowerUpgradeTime()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    // At the maximum level
                    if (t.Level == t.MaxLevel)
                    {
                        str = Localization.Get().Text("n_a");
                    }
                    else
                    {
                        str = String.Format("{0:F1}", t.GetUpgradeTime());
                    }
                }
            }

            return(str);
        }
Example #7
0
        // Get the level information of current tower
        protected string CreateTowerLevel()
        {
            string str = "";

            if (GameState.Get().SelectedTile != null)
            {
                Objects.Tower t = GameState.Get().SelectedTile.Tower;
                if (t != null)
                {
                    // At the maximum level
                    if (t.Level == t.MaxLevel)
                    {
                        str = String.Format("<font color='#00ff00'>{0}</font>", Localization.Get().Text("max_level"));
                    }
                    else
                    {
                        str = String.Format("{0}{1}{2}", t.Level, Localization.Get().Text("level_separator"),
                                            t.MaxLevel);
                    }
                }
            }

            return(str);
        }