public ResearchSpending( PlayerInfo playerInfo, double total, SpendingPool pool, SpendingCaps caps) { this.RequestedTotal = total; this.RequestedCurrentProject = total * (double)playerInfo.RateResearchCurrentProject; this.RequestedSpecialProject = total * (double)playerInfo.RateResearchSpecialProject; this.RequestedSalvageResearch = total - this.RequestedCurrentProject - this.RequestedSpecialProject; this.ProjectedCurrentProject = pool.Distribute(this.RequestedCurrentProject, caps.ResearchCurrentProject); this.ProjectedSpecialProject = pool.Distribute(this.RequestedSpecialProject, caps.ResearchSpecialProject); this.ProjectedSalvageResearch = pool.Distribute(this.RequestedSalvageResearch, caps.ResearchSalvageResearch); }
public SecuritySpending( PlayerInfo playerInfo, double total, SpendingPool pool, SpendingCaps caps) { this.RequestedTotal = total; this.RequestedOperations = total * (double)playerInfo.RateSecurityOperations; this.RequestedIntelligence = total * (double)playerInfo.RateSecurityIntelligence; this.RequestedCounterIntelligence = total - this.RequestedOperations - this.RequestedIntelligence; this.ProjectedOperations = pool.Distribute(this.RequestedOperations, caps.SecurityOperations); this.ProjectedIntelligence = pool.Distribute(this.RequestedIntelligence, caps.SecurityIntelligence); this.ProjectedCounterIntelligence = pool.Distribute(this.RequestedCounterIntelligence, caps.SecurityCounterIntelligence); }
public StimulusSpending( PlayerInfo playerInfo, double total, SpendingPool pool, SpendingCaps caps) { this.RequestedTotal = total; this.RequestedMining = total * (double)playerInfo.RateStimulusMining; this.RequestedColonization = total * (double)playerInfo.RateStimulusColonization; this.RequestedTrade = total - this.RequestedMining - this.RequestedColonization; this.ProjectedMining = pool.Distribute(this.RequestedMining, caps.StimulusMining); this.ProjectedColonization = pool.Distribute(this.RequestedColonization, caps.StimulusColonization); this.ProjectedTrade = pool.Distribute(this.RequestedTrade, caps.StimulusTrade); }