Esempio n. 1
0
    private void Awake()
    {
        for (int i = 0; i < m_nCount.Length; ++i)
        {
            m_nCount[i] = 0;
        }
        m_Propertycount = new int[6];

        //씬 다시 로드해서 초기화
        m_nGold = 20;
        m_DicTwCsGet.Clear();
        m_DicCheck.Clear();
        m_DicSynergyCount.Clear();
        m_DicTowerProperty.Clear();
        m_DicTowerNumber.Clear();

        m_TwMk = gameObject.GetComponent <TowerPick>();
        m_TwUg = gameObject.GetComponent <TowerUpgrade>();

        m_TwMk.Init();
        m_TwUg.Init();

        DataMng.AddTable(TableType.TowerTable);
        DataMng.AddTable(TableType.SynergyTable);

        //시너지를 확인하기위한 타워의 번호 부여
        for (int i = 0; i < m_LisTwNumber.Count; ++i)
        {
            m_DicTowerNumber.Add(m_LisTwNumber[i].name, i);
        }
        m_SeeUi = UIAdd.Get <SeeUI>(UIType.SeeUI);
    }
Esempio n. 2
0
        private void SetupUpgradeButton(TowerUpgrade upgrade, UpgradeButtonDTO upgradeButtonDTO)
        {
            if (upgrade == null)
            {
                ShowBlankButton(upgradeButtonDTO);
                return;
            }
            var button    = upgradeButtonDTO.Button;
            var nameText  = upgradeButtonDTO.NameText;
            var costText  = upgradeButtonDTO.CostText;
            var iconImage = upgradeButtonDTO.Icon;

            button.image.color = Color.white;
            iconImage.color    = Color.white;
            nameText.text      = upgrade.Name;
            iconImage.sprite   = upgrade.Icon;
            button.onClick.RemoveAllListeners();
            if (HavePurchased(upgrade))
            {
                button.interactable = false;
                costText.text       = $"Already Bought: {upgrade.Cost}";
            }
            else if (CannotAfford(upgrade))
            {
                button.interactable = false;
                costText.text       = $"Can't Afford\n{upgrade.Cost}";
            }
            else
            {
                button.interactable = true;
                button.onClick.AddListener(() => OnButtonUpgradeTower(upgrade, _towerController));
                costText.text = $"Buy for: {upgrade.Cost}";
            }
        }
Esempio n. 3
0
 public virtual void Upgrade(TowerUpgrade upgradeInfo)
 {
     damage   = upgradeInfo.damage;
     fireRate = upgradeInfo.fireRate;
     range    = upgradeInfo.range;
     upgradeLevel++;
 }
Esempio n. 4
0
    private TowerUpgrade GetAssociatedUpgrade()
    {
        List <TowerUpgrade> upgrades     = GetSelectedTower().GetBuyableUpgrades();
        TowerUpgrade        towerUpgrade = upgrades.Find(u => u.track == upgrade);

        return(towerUpgrade);
    }
Esempio n. 5
0
 private void HideTowerUI()
 {
     _towerController = null;
     _upgrade1        = null;
     _upgrade2        = null;
     _gameController.OnMoneyChanged -= OnMoneyChanged;
     _selectedTowerPanel.SetActive(false);
 }
Esempio n. 6
0
    private void Start()
    {
        ElementType = Element.POISON;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10),
            new TowerUpgrade(2, 1, 1, 2, 20),
        };
    }
Esempio n. 7
0
    private void Start()
    {
        ElementType = Element.FROST;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10),
            new TowerUpgrade(2, 1, 1, 2, 20)
        };
    }
Esempio n. 8
0
 public void BuyUpgrade(TowerUpgrade upgrade)
 {
     if (!GetBuyableUpgrades().Exists(u => u == upgrade))
     {
         return;
     }
     Upgrades.Add(upgrade);
     upgrade.Apply(TowerProperties, ShotProperties);
     VisualUpdatesForUpgrades();
 }
Esempio n. 9
0
    private void Start()
    {
        ElementType = Element.POISON;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 0.5f, 5, -0.2f, 1),
            new TowerUpgrade(5, 1, 0.5f, 5, -0.2f, 1),
        };
    }
Esempio n. 10
0
    private void Start()
    {
        ElementType = Element.FROST;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 0.5f, -0.1f, 1),
            new TowerUpgrade(5, 1, 0.5f, -0.1f, 1),
        };
    }
Esempio n. 11
0
    private void Start()
    {
        ElementType = Element.ICE;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10f),
            new TowerUpgrade(2, 1, 1, 2, 20f)
        };
    }
Esempio n. 12
0
    private void Start()
    {
        ElementType = Element.FIRE;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 2, 0.5f, 5f, -0.2f, 1),
            new TowerUpgrade(5, 3, 0.5f, 5f, -0.2f, 1)
        };
    }
Esempio n. 13
0
    private void Start()
    {
        ElementType = Element.STORM;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 2, 1, 2),
            new TowerUpgrade(5, 3, 1, 2),
        };
    }
Esempio n. 14
0
    private void Start()
    {
        ElementType = Element.FIRE;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2,2,.5f,5,-0.1f,1),
            new TowerUpgrade(5, 3, .5f, 5, -0.1f, 1),
        };
    }
Esempio n. 15
0
    public override void Upgrade(TowerUpgrade upgradeInfo)
    {
        base.Upgrade(upgradeInfo);

        GunTowerUpgrade upgrade = (GunTowerUpgrade)upgradeInfo;

        gunSpeed        = upgrade.gunSpeed;
        projectileSpeed = upgrade.projectileSpeed;
        pierce          = upgrade.pierce;
    }
Esempio n. 16
0
 public void SetTower(GameObject tw)
 {
     _tower        = tw;
     _icon.sprite  = _tower.GetComponent <SpriteRenderer>().sprite;
     _atower       = _tower.GetComponent <ATower>();
     _towerUpgrade = _tower.GetComponent <TowerUpgrade>();
     _destroyButton.interactable = true;
     CanFirerateUp();
     MoneyUpdate();
     UIupdate();
 }
Esempio n. 17
0
    private void Start()
    {
        ElementType = Element.RED;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 25),
            new TowerUpgrade(5, 30),
            new TowerUpgrade(10, 40)
        };
    }
Esempio n. 18
0
 private void Start()
 {
     ElementType = Element.LARGEROCK;
     Upgrades    = new TowerUpgrade[]
     {
         new TowerUpgrade(8, 2, 0.5f, 5),
         new TowerUpgrade(20, 3, 0.5f, 5),
         new TowerUpgrade(50, 10, 0.5f, 5),
         new TowerUpgrade(100, 20, 0.5f, 10)
     };
 }
Esempio n. 19
0
    public void Start()
    {
        ElementType = Element.GREEN;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(3, 18),
            new TowerUpgrade(10, 21),
            new TowerUpgrade(20, 25)
        };
    }
Esempio n. 20
0
    private void Start()
    {
        //Sets the element type
        ElementType = Element.STORM;

        //Creates the upgrades
        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 2, 1, 2),
            new TowerUpgrade(5, 3, 1, 2),
        };
    }
Esempio n. 21
0
    private void Start()
    {
        //Sets the elementtype to fire
        ElementType = Element.FIRE;

        //Sets up the upgrades
        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 2, .5f, 5, -0.1f, 1),
            new TowerUpgrade(5, 3, .5f, 5, -0.1f, 1),
        };
    }
Esempio n. 22
0
    private void Start()
    {
        ElementType = Element.EARTH;

        Upgrades = new TowerUpgrade[]
        {
            //new TowerUpgrade(2,2,1,2),   // first upgrade
            //new TowerUpgrade(5,3,1,2),   //second upgrade
            new TowerUpgrade(price1, damage1, debuffDuration1, procChance1),
            new TowerUpgrade(price2, damage2, debuffDuration2, procChance2),
        };
    }
Esempio n. 23
0
 private void TowerUpgraded(TowerBehavior tower, TowerUpgrade upgrade)
 {
     //Add 1 to the faction that gained a tower
     if (tower.Faction == FactionController.PlayerFaction)
     {
         playerGameStateInfo.numUpgrades++;
     }
     else if (tower.Faction == FactionController.OtherFaction1)
     {
         AIGameStateInfo.numUpgrades++;
     }
 }
Esempio n. 24
0
    private void Start()
    {
        //Sets the element time
        ElementType = Element.POISON;

        //Sets up the upgrades
        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, .5f, 5, -0.1f, 1),
            new TowerUpgrade(5, 1, .5f, 5, -0.1f, 1),
        };
    }
Esempio n. 25
0
    private void Start()
    {
        ElementType = Element.POISON;

        Upgrades = new TowerUpgrade[]
        {
            //new TowerUpgrade(2,1,0.5f,5,-0.1f,1),   // first upgrade
            //new TowerUpgrade(5,1,0.5f,5,-0.1f,1),   //second upgrade
            new TowerUpgrade(price1, damage1, debuffDuration1, procChance1, tickTime1, specialDamage1),
            new TowerUpgrade(price2, damage2, debuffDuration2, procChance2, tickTime2, specialDamage2),
        };
    }
Esempio n. 26
0
    private void Start()
    {
        //Sets the tower elements
        ElementType = Element.FROST;

        //Sets the upgrades for the tower
        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10),
            new TowerUpgrade(2, 1, 1, 2, 20),
        };
    }
Esempio n. 27
0
 private void Start()
 {
     ElementType = Element.FIRE;      //이 타워 타입 설정
     Upgrades    = new TowerUpgrade[] //업그레이드
     {
         //가격, 데미지, 지속시간, 확률, 간격, 지속데미지
         new TowerUpgrade(2, 2, 0.5f, 1, -0.1f, 1),
         new TowerUpgrade(3, 4, 0.5f, 1, -0.1f, 2),
         new TowerUpgrade(4, 6, 0.5f, 1, -0.1f, 3),
         new TowerUpgrade(5, 8, 0.5f, 1, -0.1f, 4),
         new TowerUpgrade(6, 10, 0.5f, 1, -0.1f, 5),
     };
 }
Esempio n. 28
0
 private void Start()
 {
     ElementType = Element.POISON;    //속성 타입
     Upgrades    = new TowerUpgrade[] //업그레이드
     {
         //가격, 데미지, 지속시간, 확률, 나오는간격, 표식데미지
         new TowerUpgrade(2, 1, 1, 1, 0, 3),
         new TowerUpgrade(4, 3, 1, 1, 0, 6),
         new TowerUpgrade(6, 5, 1, 1, 0, 9),
         new TowerUpgrade(8, 5, 1, 1, 0, 12),
         new TowerUpgrade(10, 5, 1, 1, 0, 15)
     };
 }
Esempio n. 29
0
 private void Start()
 {
     ElementType = Element.STORM;     //속성 설정
     Upgrades    = new TowerUpgrade[] //타워 업그레이드
     {
         //가격 , 데미지 , 지속시간 , 확률
         new TowerUpgrade(2, 2, 0.1f, 1),
         new TowerUpgrade(5, 5, 0.1f, 1),
         new TowerUpgrade(10, 10, 0.1f, 1),
         new TowerUpgrade(10, 10, 0.1f, 1),
         new TowerUpgrade(20, 20, 0.1f, 1)
     };
 }
Esempio n. 30
0
 private void Start()
 {
     ElementType = Element.ICE;       //속성 타입
     Upgrades    = new TowerUpgrade[] //업그레이드
     {
         // 가격,데미지,지속시간,확률,둔화율
         new TowerUpgrade(2, 1, 1, 1, 2),
         new TowerUpgrade(3, 2, 1, 1, 2),
         new TowerUpgrade(4, 3, 1, 1, 2),
         new TowerUpgrade(5, 4, 1, 1, 2),
         new TowerUpgrade(6, 5, 1, 1, 2)
     };
 }