Exemplo n.º 1
0
    private Upgrade GenerateBranch(int length, string name, string description, int initialCost, int costStep, Action <Player> callback)
    {
        int     cnt         = 1;
        int     cost        = initialCost;
        var     baseUpgrade = new Upgrade($"{name} {cnt}", description, cost, callback);
        var     cur         = baseUpgrade;
        Upgrade prev        = baseUpgrade;

        cost += costStep;
        cnt++;
        this.upgradeTree.Add(cur);

        for (; cnt <= length; cnt++, cost += costStep)
        {
            cur = new Upgrade(name + cnt, description, cost, callback);
            cur.AddDependency(prev);
            this.upgradeTree.Add(cur);
            prev = cur;
        }

        return(baseUpgrade);
    }