private void SetLevel(int level)
    {
        this.level = level > 0 ? level : 1;
        EnemyAttribution attribution = EnemyAttributionConfig.GetEnemyAttribution(enemyType);

        this.hp      = Mathf.RoundToInt(attribution.hp + (level - 1) * attribution.hpGrowth);
        this.attack  = Mathf.RoundToInt(attribution.attack + (level - 1) * attribution.attackGrowth);
        this.defence = Mathf.RoundToInt(attribution.defence + (level - 1) * attribution.defenceGrowth);
    }
    public static EnemyAttribution GetEnemyAttribution(EnemyType type)
    {
        EnemyAttributionConfig config = Resources.Load <EnemyAttributionConfig>(RESOURCE_PATH);

        EnemyAttribution[] attributions = config.attributions;

        foreach (var attribution in attributions)
        {
            if (attribution.enemyType == type)
            {
                return(attribution);
            }
        }
        return(null);
    }
Exemple #3
0
    public static void CreateEnemyConfig()
    {
        string fileName = "EnemyAttributionConfig";
        EnemyAttributionConfig config = CreateInstance <EnemyAttributionConfig>();

        config.attributions = ExcelTool.CreateEnemyModelArrayWithExcel(ExcelConfig.GetExcelPath(fileName));
        if (!Directory.Exists(ExcelConfig.ASSETS_FOLDER_PATH))
        {
            Directory.CreateDirectory(ExcelConfig.ASSETS_FOLDER_PATH);
        }
        string assetPath = string.Format("{0}{1}.asset", ExcelConfig.ASSETS_FOLDER_PATH, fileName);

        AssetDatabase.CreateAsset(config, assetPath);
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }