示例#1
0
    void setSpriteType(TowerSpriteType type)
    {
        if (currentSprite != null && type == currentSprite.type)
        {
            return;
        }

        if (myToy.building.tower_sprite)
        {
            currentSprite = TowerVisualStore.Instance.getSprite(myToy.runetype, myToy.toy_type, type, false);
            if (currentSprite != null)
            {
                myToy.building.tower_sprite.sprite = currentSprite.sprite;
            }
        }

        if (!haveUpgrades || !myToy.building.upgrade_sprite)
        {
            return;
        }
        currentUpgradeSprite = TowerVisualStore.Instance.getSprite(myToy.runetype, myToy.toy_type, type, true);
        if (currentUpgradeSprite != null)
        {
            bool turn_me_on = myToy.building.upgrade_sprite.gameObject.activeSelf;
            myToy.building.upgrade_sprite.gameObject.SetActive(false);
            myToy.building.upgrade_sprite.sprite = currentUpgradeSprite.sprite;

            myToy.building.upgrade_sprite.gameObject.SetActive(turn_me_on);
        }
    }
示例#2
0
 TowerSprite getSprite(List <TowerSprite> list, TowerSpriteType type)
 {
     foreach (TowerSprite t in list)
     {
         if (t.type == type)
         {
             return(t);
         }
     }
     return(null);
 }
示例#3
0
    TowerSprite getSprite(TowerSpriteList list, bool upgrade, TowerSpriteType type)
    {
        if (list == null)
        {
            return(null);
        }

        if (!upgrade)
        {
            foreach (TowerSprite t in list.regular_list)
            {
                if (t.type == type)
                {
                    return(t);
                }
            }
        }
        if (upgrade)
        {
            foreach (TowerSprite t in list.upgrade_list)
            {
                if (t.type == type)
                {
                    return(t);
                }
            }
        }



        Debug.Log(
            $"!!! Could not find a tower sprite for {list.runeType} {list.toyType} upgrade = {upgrade} type = {type}\n");

        if (type != TowerSpriteType.Basic && type != TowerSpriteType.Null)
        {
            return(getSprite(list, upgrade, TowerSpriteType.Basic));
        }

        return(null);
    }
示例#4
0
 public TowerSprite getSprite(RuneType runeType, ToyType toyType, TowerSpriteType type, bool upgrade)
 {
     return(getSprite(getList(runeType, toyType), upgrade, type));
 }