private int? CalcPartialCapacity(StarData starData, IEnumerable<PlanetoidData> planetoidsData, SettlementCmdData settlementData) { int count = settlementData != null ? planetoidsData.Count() + 2 : planetoidsData.Count() + 1; IList<int> sysMembersCapacity = new List<int>(count); if (starData.InfoAccessCntlr.HasAccessToInfo(Player, ItemInfoID.Capacity)) { sysMembersCapacity.Add(starData.Capacity); } foreach (var pData in planetoidsData) { var accessCntlr = pData.InfoAccessCntlr; if (accessCntlr.HasAccessToInfo(Player, ItemInfoID.Capacity)) { sysMembersCapacity.Add(pData.Capacity); } } if (settlementData != null && settlementData.InfoAccessCntlr.HasAccessToInfo(Player, ItemInfoID.Capacity)) { sysMembersCapacity.Add(settlementData.Capacity); } if (sysMembersCapacity.Any()) { return sysMembersCapacity.Sum(); } return null; }
public StarInfoAccessController(StarData data) : base(data) { }
private ResourceYield? CalcPartialResources(StarData starData, IEnumerable<PlanetoidData> planetoidsData, SettlementCmdData settlementData) { int count = settlementData != null ? planetoidsData.Count() + 2 : planetoidsData.Count() + 1; IList<ResourceYield> sysMembersResources = new List<ResourceYield>(count); if (starData.InfoAccessCntlr.HasAccessToInfo(Player, ItemInfoID.Resources)) { sysMembersResources.Add(starData.Resources); } foreach (var pData in planetoidsData) { var accessCntlr = pData.InfoAccessCntlr; if (accessCntlr.HasAccessToInfo(Player, ItemInfoID.Resources)) { sysMembersResources.Add(pData.Resources); } } if (settlementData != null && settlementData.InfoAccessCntlr.HasAccessToInfo(Player, ItemInfoID.Resources)) { sysMembersResources.Add(settlementData.Resources); } if (sysMembersResources.Any()) { return sysMembersResources.Sum(); } return null; }
public StarReport(StarData data, Player player, IStar_Ltd item) : base(data, player, item) { }