Changeset 5bf376f313a666e5a73f3e3f370a25fe178b2676
- Timestamp:
- 12/23/07 11:54:43
(1 year ago)
- Author:
- Christopher Jung <bktheg@web.de>
- git-committer:
- Christopher Jung <bktheg@web.de> 1198407283 +0100
- git-parent:
[9490b14415e37d5eec3fc020f83abacc3d6152ec]
- git-author:
- Christopher Jung <bktheg@web.de> 1198407283 +0100
- Message:
Werften: Die Anzahl der verfuegbaren Bauplaene wird nun beruecksichtigt
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| reaeb89e |
r5bf376f |
|
| 233 | 233 | int freeSlots = this.getWerftSlots(); |
|---|
| 234 | 234 | |
|---|
| | 235 | final Cargo cargo = new Cargo(this.getCargo(true)); |
|---|
| | 236 | final User user = this.getOwner(); |
|---|
| | 237 | |
|---|
| | 238 | if( user.getAlly() != null ) { |
|---|
| | 239 | Cargo allyitems = new Cargo( Cargo.Type.ITEMSTRING, user.getAlly().getItems() ); |
|---|
| | 240 | cargo.addCargo( allyitems ); |
|---|
| | 241 | } |
|---|
| | 242 | |
|---|
| 235 | 243 | final WerftQueueEntry[] entries = getBuildQueue(); |
|---|
| 236 | 244 | for( int i=0; i < entries.length; i++ ) { |
|---|
| 237 | 245 | final WerftQueueEntry entry = entries[i]; |
|---|
| 238 | 246 | |
|---|
| 239 | | if( entry.getSlots() <= freeSlots ) { |
|---|
| 240 | | entry.setScheduled(true); |
|---|
| | 247 | // Falls ein Item benoetigt wird pruefen, ob es vorhanden ist |
|---|
| | 248 | if( entry.getRequiredItem() != -1 ) { |
|---|
| | 249 | List<ItemCargoEntry> itemlist = cargo.getItem(entry.getRequiredItem()); |
|---|
| | 250 | if( itemlist.size() == 0 ) { |
|---|
| | 251 | entry.setScheduled(false); |
|---|
| | 252 | continue; |
|---|
| | 253 | } |
|---|
| 241 | 254 | |
|---|
| 242 | | freeSlots -= entry.getSlots(); |
|---|
| 243 | | |
|---|
| 244 | | // Kein Abbruch der Schleife, da fuer alle Eintraege scheduled gesetzt werden muss |
|---|
| 245 | | } |
|---|
| 246 | | else { |
|---|
| | 255 | // Item entfernen, damit ein Bauplan nicht mehrfach benutzt wird |
|---|
| | 256 | cargo.substractResource(itemlist.get(0).getResourceID(), 1); |
|---|
| | 257 | } |
|---|
| | 258 | |
|---|
| | 259 | if( entry.getSlots() > freeSlots ) { |
|---|
| 247 | 260 | entry.setScheduled(false); |
|---|
| 248 | | } |
|---|
| | 261 | continue; |
|---|
| | 262 | } |
|---|
| | 263 | |
|---|
| | 264 | entry.setScheduled(true); |
|---|
| | 265 | |
|---|
| | 266 | freeSlots -= entry.getSlots(); |
|---|
| 249 | 267 | } |
|---|
| 250 | 268 | } |
|---|