public override object CalcUpgradedStats(List <DSPlayerSkill.SkillUpgrade> upgrades) { ArrowWalleyStats newStats = (ArrowWalleyStats)base.CalcUpgradedStats(upgrades); foreach (var upgrade in upgrades) { if (upgrade.isUpgradeToUnlock && upgrade.level > 0) { newStats.unlocked = true; } } return(newStats); }
public override bool Execute(object skillStats) { bool res = base.Execute(skillStats); if (res) { ArrowWalleyStats stats; if (skillStats != null && skillStats is ArrowWalleyStats) { stats = (ArrowWalleyStats)skillStats; } else { stats = this.stats; } ArrowsValley valley = Instantiate(origin, Vector2.zero, castRotation); valley.Init(castPosition, stats.damage, stats.radius, stats.countOfArrows, owner, stats.delay); valley.StartValley(); } return(res); }