public void SetTowerCount(int towerCount)
    {
        towerCards = new List <TowerCard>();

        foreach (var id in TowerTable.GetTowerIds().Take(towerCount))
        {
            TowerCard card   = new TowerCard();
            var       status = TowerTable.GetStatus(id);
            card.id     = id;
            card.prefab = (Tower)status.prefab;
            card.sprite = status.sprite;
            card.cost   = status.cost;

            towerCards.Add(card);
        }

        prefabs    = new Dictionary <TowerCard, Tower>();
        towerPools = new Dictionary <TowerCard, LocalObjectPool <Tower> >();
        foreach (var card in towerCards)
        {
            Transform towerHolder        = new GameObject($"Tower Pool ({card.id})").transform;
            LocalObjectPool <Tower> pool = new LocalObjectPool <Tower>(
                card.prefab, towerHolder, 5
                );
            prefabs.Add(card, card.prefab);
            towerPools.Add(card, pool);
        }
        cursor.gameObject.SetActive(false);
    }
Beispiel #2
0
    protected override void Awake()
    {
        base.Awake();
        TowerStatus status = TowerTable.GetStatus(id);

        Initialize(status.hp, status.damage, status.attackSpeed);
    }
 private void Awake()
 {
     foreach (var id in TowerTable.GetTowerIds())
     {
         TowerInfoUI instance = Instantiate(prefab);
         instance.transform.SetParent(holder, false);
         instance.Initialize(id);
         instance.gameObject.SetActive(true);
     }
     prefab.gameObject.SetActive(false);
 }
    public void Initialize(string towerId)
    {
        var status = TowerTable.GetStatus(towerId);

        name.text        = status.name;
        damage.text      = $"데미지 : {status.damage}";
        hp.text          = $"체력 : {status.hp}";
        attackSpeed.text = $"공속 : {status.attackSpeed}";
        cost.text        = status.cost.ToString();

        string f = "없음";

        if (towerId == "sg")
        {
            f = "근거리";
        }

        if (towerId == "jw")
        {
            f = "원거리";
        }

        if (towerId == "c")
        {
            f = "슬로우";
        }

        if (towerId == "s")
        {
            f = "힐러";
        }

        if (towerId == "g")
        {
            f = "탱커";
        }

        if (towerId == "cs")
        {
            f = "자폭";
        }

        feature.text = $"특징 : {f}";

        image.sprite = status.sprite;
    }
Beispiel #5
0
    public void SetId(string id)
    {
        var status = TowerTable.GetStatus(id);

        image.sprite = status.sprite;
        image.name   = status.name;

        string s = "";

        if (id == "sg")
        {
            s = "마루와 집 문을 지키는 신, 흔히들 대장신이라고 하며 현재 문짝에 빙의중이다. 몸을 들이 받아 공격한다.";
        }
        if (id == "jw")
        {
            s = "부엌을 지키는 신, 아궁이에 빙의중이며, 요리를 담당하고 불을 다스릴줄 안다. 때문에 불을 날려 공격한다.";
        }
        if (id == "c")
        {
            s = "뒷간을 지키는 신, 똥을 닦는 새끼줄에 빙의중이며, 마법으로 적에게 슬로우를 건다.";
        }
        if (id == "s")
        {
            s = "안방을 지키는 신, 지팡이에 빙의중이며, 집안에 아이가 태어나면 아이의 앞길을 점지해주고 아이들을 지켜준다, 아군을 회복시켜준다.";
        }
        if (id == "g")
        {
            s = "집터를 지키는 신, 농사와 땅에 관여하며 현재 돌덩이에 빙의중이다, 특별한 능력은 없지만 단단한 신이다.";
        }
        if (id == "cs")
        {
            s = "장독대를 지키는 신, 현재 장독대에 빙의중이며, 자폭하여 적에게 강한 피해를 준다.";
        }

        content.text = s;
    }
Beispiel #6
0
 private IEnumerable <string> GetIds() => TowerTable.GetTowerIds();