// раз в месяц все пересчитываем override public void MonthlyUpdate() { double Bill; Subjects.Provinces[0].MonthlyUpdate(); Capital.TaxLevel = Kazna.TaxLevel; // это значение могло поменяться в форме экрана Capital.MonthlyUpdate(); Bill = Capital.CollectTax(); Kazna.Income(Bill); // Kazna.TaxLevel = Capital.TaxLevel; Treasure += (int)Bill; Citadel.MonthlyUpdate(); if ((Bill = Citadel.Expense) <= Treasure) { Citadel.PayWages(Bill); Treasure -= (int)Bill; Kazna.Expense(Bill); } else { Citadel.PayWages(0); } Kazna.MonthUpdate(); // тут надо проапдейдить войско и прочих, подбить расходы, просчитать новые перки и отношения двора и т.д. }