Exemplo n.º 1
0
 private ConstructionView.DisplayUIComp GetTowerSaleComp(TowerStats towerStats)
 {
     return(FormTowerUIComp("Sale", towerStats.id, UtilityMethod.LoadSpriteFromMulti(spriteSheet, VariableFlag.TowerSpriteID.TowerSale),
                            () =>
     {
         SelectTowerToSale(currentSelectedNode, towerStats);
     }));
 }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
    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);
    }