public int GetTotalItemsQueuedStorageUsedByRoomDesign(RoomDesign roomDesign) { int num = 0; for (int index1 = 0; index1 < this.Rooms.Length; ++index1) { PSMainRoom room = this.Rooms[index1] as PSMainRoom; if (room.RoomStatus != RoomStatus.Inventory && room.RoomStatus != RoomStatus.Inventory && (room.RoomDesign.ItemRank == roomDesign.ItemRank && room.RoomDesign.ManufactureType == roomDesign.ManufactureType) && room.ManufactureString != string.Empty) { List <PSResourceGroup> psResourceGroupList = new List <PSResourceGroup>(); for (int index2 = 0; index2 < room.ManufactureItemQueue.Count; ++index2) { PSResourceGroup manufactureItem = room.ManufactureItemQueue[index2]; if (!psResourceGroupList.Contains(manufactureItem)) { psResourceGroupList.Add(manufactureItem); } } for (int index2 = 0; index2 < psResourceGroupList.Count; ++index2) { PSResourceGroup psResourceGroup = psResourceGroupList[index2]; ItemDesign itemDesignById = SingletonManager <ItemManager> .Instance.GetItemDesignByID(psResourceGroup.resourceId); num += itemDesignById.ItemSpace * psResourceGroup.quantity; } } } return(num); }
public int GetCapacityOfItem(ItemType itemType, int itemRank) { int num = 0; for (int index = 0; index < this.Rooms.Length; ++index) { PSRoom room = this.Rooms[index]; RoomDesign roomDesign = room.RoomDesign; if (roomDesign.ManufactureType == itemType && roomDesign.ItemRank == itemRank && (room.RoomStatus == RoomStatus.Normal || room.RoomStatus == RoomStatus.Upgrading)) { num += roomDesign.Capacity; } } switch (itemType) { case ItemType.Mineral: num += this.ShipDesign.MineralCapacity; break; case ItemType.Gas: num += this.ShipDesign.GasCapacity; break; } return(num); }
public int GetMaxCapacityByRoomDesign(RoomDesign roomDesign) { int num = 0; for (int index = 0; index < this.Rooms.Length; ++index) { PSRoom room = this.Rooms[index]; if (room.RoomStatus != RoomStatus.Inventory && room.RoomStatus != RoomStatus.Building && (room.RoomDesign.ItemRank == roomDesign.ItemRank && room.RoomDesign.ManufactureType == roomDesign.ManufactureType)) { num += room.RoomDesign.Capacity; } } return(num); }
public int GetTotalItemStorageUsedByRoomDesign(RoomDesign roomDesign) { int num = 0; List <PSItem> itemsBelongingToShip = this.ItemsBelongingToShip; for (int index = 0; index < itemsBelongingToShip.Count; ++index) { PSItem psItem = itemsBelongingToShip[index]; if (psItem.ItemDesign.ItemType == roomDesign.ManufactureType && psItem.ItemDesign.MinRoomLevel <= roomDesign.Level && psItem.ItemDesign.Rank == roomDesign.ItemRank && (psItem.ItemDesign.RequiredResearchDesignId == 0 || psItem.ItemDesign.RequiredPsResearch != null && psItem.ItemDesign.RequiredPsResearch.ResearchState == ResearchState.Completed)) { num += psItem.ItemDesign.ItemSpace * psItem.Quantity; } } return(num); }