コード例 #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);
    }
コード例 #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}";
            }
        }
コード例 #3
0
 public virtual void Upgrade(TowerUpgrade upgradeInfo)
 {
     damage   = upgradeInfo.damage;
     fireRate = upgradeInfo.fireRate;
     range    = upgradeInfo.range;
     upgradeLevel++;
 }
コード例 #4
0
ファイル: TowerUpgradeButton.cs プロジェクト: Oli-26/TDGame
    private TowerUpgrade GetAssociatedUpgrade()
    {
        List <TowerUpgrade> upgrades     = GetSelectedTower().GetBuyableUpgrades();
        TowerUpgrade        towerUpgrade = upgrades.Find(u => u.track == upgrade);

        return(towerUpgrade);
    }
コード例 #5
0
 private void HideTowerUI()
 {
     _towerController = null;
     _upgrade1        = null;
     _upgrade2        = null;
     _gameController.OnMoneyChanged -= OnMoneyChanged;
     _selectedTowerPanel.SetActive(false);
 }
コード例 #6
0
ファイル: JamurTower.cs プロジェクト: haefa/babygraf
    private void Start()
    {
        ElementType = Element.POISON;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10),
            new TowerUpgrade(2, 1, 1, 2, 20),
        };
    }
コード例 #7
0
ファイル: FrostTower.cs プロジェクト: triard/tower-defense-v2
    private void Start()
    {
        ElementType = Element.FROST;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 1, 1, 2, 10),
            new TowerUpgrade(2, 1, 1, 2, 20)
        };
    }
コード例 #8
0
 public void BuyUpgrade(TowerUpgrade upgrade)
 {
     if (!GetBuyableUpgrades().Exists(u => u == upgrade))
     {
         return;
     }
     Upgrades.Add(upgrade);
     upgrade.Apply(TowerProperties, ShotProperties);
     VisualUpdatesForUpgrades();
 }
コード例 #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),
        };
    }
コード例 #10
0
ファイル: KolTower.cs プロジェクト: haefa/babygraf
    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),
        };
    }
コード例 #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)
        };
    }
コード例 #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)
        };
    }
コード例 #13
0
    private void Start()
    {
        ElementType = Element.STORM;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 2, 1, 2),
            new TowerUpgrade(5, 3, 1, 2),
        };
    }
コード例 #14
0
ファイル: BrokoliTower.cs プロジェクト: haefa/babygraf
    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),
        };
    }
コード例 #15
0
    public override void Upgrade(TowerUpgrade upgradeInfo)
    {
        base.Upgrade(upgradeInfo);

        GunTowerUpgrade upgrade = (GunTowerUpgrade)upgradeInfo;

        gunSpeed        = upgrade.gunSpeed;
        projectileSpeed = upgrade.projectileSpeed;
        pierce          = upgrade.pierce;
    }
コード例 #16
0
ファイル: UIBottom.cs プロジェクト: QuloZ/TowerDefence2D
 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();
 }
コード例 #17
0
    private void Start()
    {
        ElementType = Element.RED;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(2, 25),
            new TowerUpgrade(5, 30),
            new TowerUpgrade(10, 40)
        };
    }
コード例 #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)
     };
 }
コード例 #19
0
    public void Start()
    {
        ElementType = Element.GREEN;

        Upgrades = new TowerUpgrade[]
        {
            new TowerUpgrade(3, 18),
            new TowerUpgrade(10, 21),
            new TowerUpgrade(20, 25)
        };
    }
コード例 #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),
        };
    }
コード例 #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),
        };
    }
コード例 #22
0
ファイル: EarthTower.cs プロジェクト: murock/AllMyUnity
    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),
        };
    }
コード例 #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++;
     }
 }
コード例 #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),
        };
    }
コード例 #25
0
ファイル: PoisonTower.cs プロジェクト: murock/AllMyUnity
    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),
        };
    }
コード例 #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),
        };
    }
コード例 #27
0
ファイル: FireTower.cs プロジェクト: wsxc94/TowerDefense2D
 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),
     };
 }
コード例 #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)
     };
 }
コード例 #29
0
ファイル: StormTower.cs プロジェクト: wsxc94/TowerDefense2D
 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)
     };
 }
コード例 #30
0
ファイル: IceTower.cs プロジェクト: wsxc94/TowerDefense2D
 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)
     };
 }