Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }