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); }
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(); }