Пример #1
0
 public static void TryShowPanel(TowerSettings settings)
 {
     if (CurrentTowerHandler == null)
     {
         Instance.m_levelUI.ShowPanels(settings);
     }
 }
Пример #2
0
        public TowerAgent SpawnTower(Vector3 position, Quaternion rotation, TowerSettings settings)
        {
            var tower = GetObjectFromPool();

            tower.Setup(position + new Vector3(0, .25f, 0), rotation, settings);

            return(tower);
        }
Пример #3
0
        public void ShowPanels(TowerSettings settings, bool showPanelToUpgrade = false)
        {
            ShowPanelSettings(settings, showPanelToUpgrade);

            if (showPanelToUpgrade)
            {
                ShowPanelUpgrade(settings);
            }
        }
Пример #4
0
        private void ShowPanelSettings(TowerSettings settings, bool showSellButton = false)
        {
            m_panelSettings.Show(settings);

            if (showSellButton)
            {
                m_textSellButton.text = string.Format("Sell for {0}", settings.GoldToSell);
            }

            m_textSellButton.transform.parent.gameObject.SetActive(showSellButton);
        }
        public void Show(TowerSettings settings)
        {
            m_textTowerName.text        = settings.Name;
            m_textTowerDescription.text = settings.Description;
            m_textTowerCost.text        = string.Format("COST: <color=#FFC000FF><size=16>{0}</size></color>", settings.Cost);
            m_textTowerDamage.text      = string.Format("DAMAGE: <color=#C00000FF><size=16>{0}</size></color>", settings.Damage);
            m_textTowerRange.text       = string.Format("RANGE: <color=#0060FFFF><size=16>{0}</size></color>", settings.Range);
            m_textTowerSpeed.text       = string.Format("SPEED: <color=#808080FF><size=16>{0}</size></color>", settings.Speed);

            gameObject.SetActive(true);
        }
        public void Setup(Vector3 position, Quaternion rotation, TowerSettings settings)
        {
            transform.localPosition = position;
            transform.localRotation = rotation;

            m_settings = settings;

            if (m_renderer == null)
            {
                m_renderer = GetComponent <Renderer> ();
            }
            m_renderer.sharedMaterial = m_settings.Race;

            m_cooldownTime = Time.time;
        }
Пример #7
0
        private void ShowPanelUpgrade(TowerSettings settings)
        {
            var newCost = settings.CostToUpgrade;

            var toUpgrade = new TowerSettings
            {
                Name        = settings.LevelAfterUpgrade,
                Description = "Increase damage",
                Cost        = newCost,
                Damage      = settings.DamageAfterUpgrade,
                Range       = settings.Range,
                Speed       = settings.Speed
            };

            m_panelUpgrade.Show(toUpgrade);

            m_upgradeButton.SetActive(LevelManager.CanBuyOrUpgrade(newCost));
        }