@Override public void aktion(Gamepanel gp) { gamepanel = gp; durchgangzaehler++; if (durchgangzaehler % 20 == 0) { if (aniZaehler < 7) { aniZaehler++; } else { if (arbeiter == noetigeArbeiter) hasLager.add(Waren.WASSER, 50); aniZaehler = 1; } if (durchgangzaehler > 500) { if (arbeiter < noetigeArbeiter) { if (gp.getEinwohner().unterschichtArbeitslos() >= noetigeArbeiter) { Feld w = new Strecke(gp.getMap()) .getNaechstesFeldMitEigenschaft(getFeld(), Eigenschaften.WOHNHAUS); if (w != null) { arbeiter += noetigeArbeiter - arbeiter; hasArbeiter = new Mensch(Berufe.BRUNNENMEISTER, w, gp.getKreaturenliste(), this); hasArbeiter.setzeZiel(this.getFeld(), gp.getMap()); } } } durchgangzaehler = 0; } } }
@Override public String getInfo() { return arbeiter + " Arbeitskräfte (" + (noetigeArbeiter - arbeiter) + " fehlen)\nVorrätiges Wasser: " + hasLager.get(Waren.WASSER); }
public boolean hatEigenschaft(int p) { switch (p) { case Eigenschaften.GIBT_WASSER: case Eigenschaften.VERTEILT_WASSER: return arbeiter == noetigeArbeiter && hasLager.get(Waren.WASSER) > 0; } return false; }
private void cmbLagerItemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { vorratsListeInsLogbuch(); ziel = (Lager) cmbLager.getSelectedItem(); Tools.log(txtLog, "================================================================="); Tools.log(txtLog, "Ab jetzt wird ins Lager: \"" + ziel.getBezeichnung() + "\" umgebucht."); Tools.log(txtLog, "================================================================="); Main.getProps() .put( "touch" + MODULENUMBER + "lager", new Integer(cmbLager.getSelectedIndex()).toString()); loadVorratTable(); txtSearch.requestFocus(); } }