private ConstructionView.DisplayUIComp GetTowerSaleComp(TowerStats towerStats) { return(FormTowerUIComp("Sale", towerStats.id, UtilityMethod.LoadSpriteFromMulti(spriteSheet, VariableFlag.TowerSpriteID.TowerSale), () => { SelectTowerToSale(currentSelectedNode, towerStats); })); }
static private void CreateTowerStats(StatsHolder statsHolder) { TextAsset csvText = (TextAsset)AssetDatabase.LoadAssetAtPath(DATABASE_FOLDER + "/CSV/database - tower.csv", typeof(TextAsset)); UnityEngine.Object[] rawSpriteSheet = AssetDatabase.LoadAllAssetsAtPath(TOWER_SPRITE_PATH); var sprteSheet = rawSpriteSheet.Where(q => q is Sprite).Cast <Sprite>().ToArray(); CSVFile csvFile = new CSVFile(csvText.text); AssetDatabase.CreateFolder(DATABASE_FOLDER + "/Asset", "Tower"); int csvCount = csvFile.length; for (int i = csvCount - 1; i >= 0; i--) { string id = csvFile.Get <string>(i, "ID"); if (string.IsNullOrEmpty(id)) { continue; } TowerStats c_prefab = ScriptableObjectUtility.CreateAsset <TowerStats>(DATABASE_FOLDER + "/Asset/Tower/", "[TowerStat] " + id); EditorUtility.SetDirty(c_prefab); c_prefab.id = id; c_prefab.label = csvFile.Get <string>(i, "Label"); c_prefab.tag = csvFile.Get <string>(i, "Tag"); c_prefab.hp = csvFile.Get <float>(i, "HP"); c_prefab.level = csvFile.Get <int>(i, "Level"); c_prefab.atk = csvFile.Get <float>(i, "ATK"); c_prefab.spd = csvFile.Get <float>(i, "SPD"); c_prefab.range = csvFile.Get <float>(i, "RANGE"); c_prefab.cost = csvFile.Get <int>(i, "COST"); c_prefab.value = c_prefab.cost; string upgradePath = csvFile.Get <string>(i, "Update Path"); if (!string.IsNullOrEmpty(upgradePath)) { string[] upgradePathArray = upgradePath.Split(new string[] { "," }, System.StringSplitOptions.None); c_prefab = UpdateTowerUpgradePath(c_prefab, statsHolder, upgradePathArray); } string rawSkills = csvFile.Get <string>(i, "Skill"); if (!string.IsNullOrEmpty(rawSkills)) { string[] skillArray = rawSkills.Split(new string[] { "," }, System.StringSplitOptions.None); c_prefab.skills = GetSkillFromIDs(statsHolder, skillArray); } c_prefab.sprite = UtilityMethod.LoadSpriteFromMulti(sprteSheet, csvFile.Get <string>(i, "Sprite ID")); statsHolder.stpObjectHolder.Add(c_prefab); } }
public Sprite FindSprite(string p_name, string p_tag) { if (sprite_list == null) { return(null); } foreach (SpriteData tagList in sprite_list) { if (tagList.tag == p_tag) { return(UtilityMethod.LoadSpriteFromMulti(tagList.sprite_list, p_name)); } } return(null); }