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); } }
TowerSprite getSprite(List <TowerSprite> list, TowerSpriteType type) { foreach (TowerSprite t in list) { if (t.type == type) { return(t); } } return(null); }
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); }
public TowerSprite getSprite(RuneType runeType, ToyType toyType, TowerSpriteType type, bool upgrade) { return(getSprite(getList(runeType, toyType), upgrade, type)); }