Апгрейды независимы, это очень важно, иначе будет жуткая путаница и гонки апгрейдов, когда апгрейд за деньги нужно будет выполнять раньше такого же за науку или наоборот.
Для реализации думаю можно параметры разделить, либо отнимать бонусы науки перед апгрейдами либо для следующего шага. Это несложно совсем.