You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3568 lines
234 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _1869_Remake;
using _1869_Remake.ToolKlassen;
using _1869_Remake.Entities;
using Otter;
namespace _1869_Remake.Scenes
{
public class WerftScene : Scene
{
TextBuilder TextLieferant;
public Image WerftScreen_Büro = new Image(Assets.WERFTBÜROSCREEN);
public Image WerftScreen_Reparatur = new Image(Assets.WERFTREPERATURSCREEN);
public Image WerftScreen_SchiffsAuswahl = new Image(Assets.WERFTSCHIFFSAUSWAHLSCREEN);
public Image FadeInBlackScreen = new Image(Assets.BLACKSCREEN);
public Image FadeOutBlackScreen = new Image(Assets.BLACKSCREEN);
//Schiffsscreens
public Image Schiffsauswahl_Schoner = new Image(Assets.WERFT_SCHIFF_SCHONER);
public Image Schiffsauswahl_Bark = new Image(Assets.WERFT_SCHIFF_BARK);
public Image Schiffsauswahl_Fregatte = new Image(Assets.WERFT_SCHIFF_FREGATTE);
public Image Schiffsauswahl_Brigg = new Image(Assets.WERFT_SCHIFF_BRIGG);
public Image Schiffsauswahl_Holzdampfschiff = new Image(Assets.WERFT_SCHIFF_HOLZDAMPFSCHIFF);
public Image Schiffsauswahl_Eisendampfschiff = new Image(Assets.WERFT_SCHIFF_EISENDAMPFSCHIFF);
public Image Schiffsauswahl_Klipper = new Image(Assets.WERFT_SCHIFF_KLIPPER);
public Image Schiffsauswahl_Name = new Image(Assets.WERFT_SCHIFF_BAU_NAME);
private List<Image> SchiffsSchemaListe = new List<Image>();
private List<Schiff> gebrauchteSchiffe = new List<Schiff>();
private int SchiffsIndex = 0;
//AnzeigeTimer
public const float TIMER_GRENZE = 90f;
public float szenenTimer = 0f;
public bool wahlFertig = true;
public bool anzeigeFertig = false;
//TempTextVariablen
Queue<string> TempSprachText = new Queue<string>();
Queue<string> TempSprachParams = new Queue<string>();
Queue<string> TempQueue = new Queue<string>();
//Letzte dem Textbuilder übergebene Liste an Paramtern (Wird nur für Shortcut funktionalität verwender)
private List<string> letzteÜbergebeneListe = new List<string>();
public Hafen aktuellerHafen;
private Image aktuellerBG;
private string aktuellGewählterSchiffstyp = "SCHONER";
//Standard Aufbereitungszeit für gebrauchte Schiffe ist 4 Tage
private TimeSpan StandardLieferZeit = new TimeSpan(4, 0, 0, 0);
//Temporäre Liste der möglichen Geldquellen
public List<string> möglicheGeldQuellen = new List<string>();
public int geldQuellenIndex = 0;
public int betragAbbezahlen = 0;
private int GebrauchtWert;
private int WunschRestBetrag;
bool kannBezahlen;
//Textbox zum Eingeben der Schiffsnamen
public TextBox textFeld;
public WerftScene(string Preset)
{
//Initialisieren des Hauptbildschirms und einblenden
Globals.aktuelleSzene = "Werft";
//Informationen zum aktuellen Hafen wird geladen, Alle Handlungen beeinflussen den globalen Zustand des Hafens
aktuellerHafen = Globals.AlleHäfen[Preset];
//TestLogging
Console.WriteLine("Aktueller Hafen ist " + aktuellerHafen.NAME);
//TextBuilder einbinden (POS = Unterer RAND)
TextLieferant = new TextBuilder(Globals.aktuelleSzene);
Add(TextLieferant);
überprüfeGeldquellen();
//Einleitungssprachtexte
Queue<string> WillkommensText = new Queue<string>();
WillkommensText.Enqueue("Helfen");
TextLieferant.erzeugeSprachText(WillkommensText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
//Auswahltexte
TextLieferant.erzeugeAuswahlText(new Queue<string>(), 25, 410);
//Vorbeireiten des Hintergrundes Büro und der NebenScreens
//Büro
WerftScreen_Büro.CenterOrigin();
WerftScreen_Büro.X = Globals.Remake.HalfWidth;
WerftScreen_Büro.Y = Globals.Remake.HalfHeight;
WerftScreen_Büro.Alpha = 1f;
//bei Start der Szene wird der aktuelle BG weg gespeichert um diesen Später aus/einzublenden
aktuellerBG = WerftScreen_Büro;
AddGraphic(aktuellerBG);
//Reperatur Screen
WerftScreen_Reparatur.CenterOrigin();
WerftScreen_Reparatur.X = Globals.Remake.HalfWidth;
WerftScreen_Reparatur.Y = Globals.Remake.HalfHeight;
WerftScreen_Reparatur.Alpha = 0f;
//Schiffsauswahl Screen
WerftScreen_SchiffsAuswahl.CenterOrigin();
WerftScreen_SchiffsAuswahl.X = Globals.Remake.HalfWidth;
WerftScreen_SchiffsAuswahl.Y = Globals.Remake.HalfHeight;
WerftScreen_SchiffsAuswahl.Alpha = 0f;
//SchiffsScreens
Schiffsauswahl_Schoner.CenterOrigin();
Schiffsauswahl_Schoner.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Schoner.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Schoner.Alpha = 0f;
Schiffsauswahl_Bark.CenterOrigin();
Schiffsauswahl_Bark.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Bark.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Bark.Alpha = 0f;
Schiffsauswahl_Holzdampfschiff.CenterOrigin();
Schiffsauswahl_Holzdampfschiff.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Holzdampfschiff.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Holzdampfschiff.Alpha = 0f;
Schiffsauswahl_Eisendampfschiff.CenterOrigin();
Schiffsauswahl_Eisendampfschiff.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Eisendampfschiff.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Eisendampfschiff.Alpha = 0f;
Schiffsauswahl_Brigg.CenterOrigin();
Schiffsauswahl_Brigg.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Brigg.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Brigg.Alpha = 0f;
Schiffsauswahl_Fregatte.CenterOrigin();
Schiffsauswahl_Fregatte.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Fregatte.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Fregatte.Alpha = 0f;
Schiffsauswahl_Klipper.CenterOrigin();
Schiffsauswahl_Klipper.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Klipper.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Klipper.Alpha = 0f;
Schiffsauswahl_Name.CenterOrigin();
Schiffsauswahl_Name.X = Globals.Remake.HalfWidth;
Schiffsauswahl_Name.Y = Globals.Remake.HalfHeight;
Schiffsauswahl_Name.Alpha = 0f;
//Vorbereiten des Blackscreens
FadeInBlackScreen.CenterOrigin();
FadeInBlackScreen.X = Globals.Remake.HalfWidth;
FadeInBlackScreen.Y = Globals.Remake.HalfHeight;
FadeInBlackScreen.Alpha = 1f;
FadeOutBlackScreen.CenterOrigin();
FadeOutBlackScreen.X = Globals.Remake.HalfWidth;
FadeOutBlackScreen.Y = Globals.Remake.HalfHeight;
FadeOutBlackScreen.Alpha = 0f;
Tween(FadeInBlackScreen, new { Alpha = 0f }, 64f, 0f).Ease(Ease.BackInOut);
AddGraphics(FadeInBlackScreen);
AddGraphic(FadeOutBlackScreen);
}
public override void Update()
{
base.Update();
//hochzählendes Zeitelement um Aktionen in der Szene zu Takten
szenenTimer++;
if (FadeOutBlackScreen.Alpha >= 0.999f)
{
Globals.LetzteSzene = "Werft";
this.RemoveAll();
Globals.Remake.SwitchScene(new worldMap());
}
//Bei Tick überprüfen, ob etwas im Textbuilder geklickt wurde (1 = Obere Auswahl, 2 = Mitlere Auswahl, 3 = Untere Auswahl, 4 = Oberer Pfeil, 5 = unterer Pfeil)
//Zuerst überprüfen auf welcher Ebene wir uns aktuell befinden und danach was dort geklickt wurde
int tempAuswahl = TextLieferant.checkAuswahl();
Text TempText;
List<Text> anzeigeTextListe = new List<Text>();
Schiff SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
string gewählterSchiffsName = " ";
switch (TextLieferant.aktuelleEbene)
{
// Textbaum - Root
case "1":
#region RootLogik (Demo Ready)
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
// Hier muss für jede Auswahl immer alle Möglichen Baumstränge abgedeckt werden, wenn neuer Baumzweig hinzukommt muss hier seine Auswahl verwaltet werdenkd
case 1:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
letzteÜbergebeneListe.Clear();
//Auswahl Reparatur
WechsleBG("Reparatur");
TextLieferant.wechsleAuswahlText("1.1", new Queue<string>());
break;
case 2:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
aktuellGewählterSchiffstyp = Globals.AlleSchiffsTypen[SchiffsIndex].SCHIFFSTYP;
//Auswahl Schiff bauen
int tempSchiffeInBau = 0;
//Vorabüberprüfen ob bereits 2 zu bauende Schiffe im Hafen sind
//Jede Werft baut maximal 2 Schiffe (spielerübergreifend)
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.inBau)
{
tempSchiffeInBau++;
}
}
if (tempSchiffeInBau >= 2)
{
TempSprachText.Clear();
TempSprachText.Enqueue("BAU_KEINPLATZ1");
TempSprachText.Enqueue("BAU_KEINPLATZ2");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<String>(), Globals.Remake.HalfWidth, 100);
break;
}
else
{
// Es könenn pro Werft maximal 2 Schiffe gebaut werden unabhängig von welchem Spieler
switch (SchiffsIndex)
{
#region SchiffsParams
//Erzeugen der jeweiligen Anzeigen Texte je nach Schiffstyp
case 0:
WechsleBG("Schiffsauswahl_Schoner");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 1:
WechsleBG("Schiffsauswahl_Bark");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 2:
WechsleBG("Schiffsauswahl_Holzdampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 3:
WechsleBG("Schiffsauswahl_Eisendampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 4:
WechsleBG("Schiffsauswahl_Brigg");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 5:
WechsleBG("Schiffsauswahl_Fregatte");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 6:
WechsleBG("Schiffsauswahl_Klipper");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
TextLieferant.wechsleAuswahlText("1.2", new Queue<string>());
break;
}
case 3:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
//Auswahl Verlassen
//FadeOut zu WorldMap
Tween(FadeOutBlackScreen, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
TextLieferant.setzeFadeOut();
break;
case 4:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
letzteÜbergebeneListe.Clear();
//Auswahl Gebrauchtes Schiff
//Zusammensuchen der Liste aller gebrauchten Schiffe
// Gebrauchtes Schiff = Schiff ohne Commandeur angedockt im aktuellen Hafen
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == null)
{
gebrauchteSchiffe.Add(s);
}
}
if (gebrauchteSchiffe.IsEmpty())
{
TempSprachText.Clear();
TempSprachText.Enqueue("Gebraucht_KEINESCHIFFE");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<String>(), Globals.Remake.HalfWidth, 100);
}
else
{
SchiffsIndex = 0;
aktuellGewählterSchiffstyp = gebrauchteSchiffe[SchiffsIndex].SCHIFFSTYP;
GebrauchtWert = gebrauchteSchiffe[SchiffsIndex].NEUWERT;
//Verlaufswert muss berechnet werden
//-> Normalerweise wird prozentual zur Abnutzung die Differenz aus Neuwert-(Grad der Abnutzung in %) gerechnet
//-> Da Reparatur noch nich einbaut ist wird Altersabhängig bestimmt ((1/2)* Alter in jahren)
for (int Alter = 0; Alter < gebrauchteSchiffe[SchiffsIndex].ALTER; Alter++)
{//halbiere den NeuWert pro jahr
GebrauchtWert /= 2;
}
switch (aktuellGewählterSchiffstyp)
{
#region SchiffsParams
//Erzeugen der jeweiligen Anzeigen Texte je nach Schiffstyp
case "SCHONER":
WechsleBG("Schiffsauswahl_Schoner");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BARK":
WechsleBG("Schiffsauswahl_Bark");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "HOLZDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Holzdampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "EISENDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Eisendampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BRIGG":
WechsleBG("Schiffsauswahl_Brigg");
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 320;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "FREGATTE":
WechsleBG("Schiffsauswahl_Fregatte");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 240;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "KLIPPER":
WechsleBG("Schiffsauswahl_Klipper");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 190;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
//Geldquellen paramter
TempQueue.Clear();
geldQuellenIndex = 0;
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
}
}
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
TextLieferant.wechsleAuswahlText("1.4", TempQueue, false);
}
break;
case 5:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
letzteÜbergebeneListe.Clear();
//Auswahl Schiff verkaufen
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
//Alle Schiffe des aktuellen Spielers anbieten (außer die noch in Bau befindlichen oder präpariert werden)
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.inBau != true && s.inBereitstellung != true)
{
TempQueue.Enqueue(s.NAME);
letzteÜbergebeneListe.Add(s.NAME);
}
}
TempSprachText = new Queue<string>();
if (TempQueue.Count() > 0)
{
if (TempQueue.Count() == 1)
{
//Shortcut zu Mengenbestimmungsscreen setzen
TextLieferant.setAuswahl(1);
}
else
{
TempSprachText.Enqueue("Verkauf_WelchesSchiff");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
TextLieferant.wechsleAuswahlText("1.5A", TempQueue, true);
}
else
{
//Spieler hat keine angedockten Schiffe in diesem Hafen
TempSprachText.Enqueue("Verkauf_KeinSchiff1");
TempSprachText.Enqueue("Verkauf_KeinSchiff2");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
break;
case 6:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
letzteÜbergebeneListe.Clear();
//Auswahl Schiff bezahlen wenn bestellt wurde
bool hatSchiffeInBau = false;
string bezahlterSchiffsName = "";
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
//Alle Schiffe des aktuellen Spielers anbieten (außer die noch in Bau befindlichen)
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.inBau)
{
hatSchiffeInBau = true;
//Spieler hat Schiff welches
if (bezahlterSchiffsName == "")
{
bezahlterSchiffsName = s.NAME;
}
else
{
bezahlterSchiffsName = "ALLE";
}
//Nur in die Liste nehmen wenn Schiff noch nicht bezahlt ist
if(!s.bezahlt)
{
TempQueue.Enqueue(s.NAME);
letzteÜbergebeneListe.Add(s.NAME);
}
}
}
TempSprachText = new Queue<string>();
TempSprachParams = new Queue<string>();
if (TempQueue.Count() > 0)
{
if (TempQueue.Count() == 1)
{
//Shortcut zu Mengenbestimmungsscreen setzen
TextLieferant.setAuswahl(1);
}
else
{
TempSprachText.Enqueue("Verkauf_WelchesSchiff");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
TextLieferant.wechsleAuswahlText("1.6A", TempQueue, true);
}
else
{
if(hatSchiffeInBau)
{
if(bezahlterSchiffsName=="ALLE")
{
TempSprachText.Enqueue("Bezahlen_AlleBezahlt");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
else
{
TempSprachParams.Enqueue(bezahlterSchiffsName);
TempSprachText.Enqueue("Bezahlen_XBezahlt");
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
}
}
else
{
TempSprachText.Enqueue("Bezahlen_KeineSchiffe");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
}
break;
}
#endregion
break;
case "1.1":
#region Reparatur Logik (Demo ready)
// In der Demo deaktiviert (überall die selbe Nachricht)
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 3:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
break;
default:
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TempSprachText.Enqueue("Demo_KeineReparatur");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<String>(), Globals.Remake.HalfWidth, 100);
break;
}
#endregion
break;
case "1.2":
#region Bauen Logik (Demo ready)
// Bauen eines neuen Schiffes - Typauswahl
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 1:
// Nächstes Model zeigen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
SchiffsIndex++;
if (SchiffsIndex > 6)
SchiffsIndex = 6;
aktuellGewählterSchiffstyp = Globals.AlleSchiffsTypen[SchiffsIndex].SCHIFFSTYP;
switch (SchiffsIndex)
{
#region Schiffsparams
case 0:
WechsleBG("Schiffsauswahl_Schoner");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 1:
WechsleBG("Schiffsauswahl_Bark");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 2:
WechsleBG("Schiffsauswahl_Holzdampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 3:
WechsleBG("Schiffsauswahl_Eisendampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 4:
WechsleBG("Schiffsauswahl_Brigg");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 5:
WechsleBG("Schiffsauswahl_Fregatte");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 6:
WechsleBG("Schiffsauswahl_Klipper");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
break;
case 2:
// Letztes Model zeigen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
SchiffsIndex--;
if (SchiffsIndex < 0)
SchiffsIndex = 0;
aktuellGewählterSchiffstyp = Globals.AlleSchiffsTypen[SchiffsIndex].SCHIFFSTYP;
switch (SchiffsIndex)
{
#region Schiffsparams
case 0:
WechsleBG("Schiffsauswahl_Schoner");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 1:
WechsleBG("Schiffsauswahl_Bark");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 2:
WechsleBG("Schiffsauswahl_Holzdampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 3:
WechsleBG("Schiffsauswahl_Eisendampfschiff");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 4:
WechsleBG("Schiffsauswahl_Brigg");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 5:
WechsleBG("Schiffsauswahl_Fregatte");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case 6:
WechsleBG("Schiffsauswahl_Klipper");
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempText = new Text("KABINEN FÜR " + SchablonenSchiff.KABINEN + " PASSAGIERE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + SchablonenSchiff.MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + SchablonenSchiff.LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + SchablonenSchiff.LIEFERZEIT + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + SchablonenSchiff.BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (SchablonenSchiff.NEUWERT / 100).ToString() + "," + (SchablonenSchiff.NEUWERT % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ANZAHLUNG: $" + (SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString() + "," + (SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
break;
case 3:
// Bestätigung - Schiff bauen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
//Anzeigetext muss gelöscht werden
TextLieferant.erzeugeAnzeigeTexte(new List<Text>());
//Je nachdem welcher Index aktuell gewählt ist wird ein Bau-Event erzeugt mit dem jeweiligen Schiffstyp und Spieler
switch (SchiffsIndex)
{
case 0:
aktuellGewählterSchiffstyp = "SCHONER";
break;
case 1:
aktuellGewählterSchiffstyp = "BARK";
break;
case 2:
aktuellGewählterSchiffstyp = "HOLZDAMPFSCHIFF";
break;
case 3:
aktuellGewählterSchiffstyp = "EISENDAMPFSCHIFF";
break;
case 4:
aktuellGewählterSchiffstyp = "BRIGG";
break;
case 5:
aktuellGewählterSchiffstyp = "FREGATTE";
break;
case 6:
aktuellGewählterSchiffstyp = "KLIPPER";
break;
}
Console.WriteLine("Schiffstyp gewählt: " + aktuellGewählterSchiffstyp);
//Eingabefeld für Texteingabe
textFeld = new TextBox(Globals.Remake.HalfWidth - 65, Globals.Remake.HalfHeight - 60, 150, 20, 15, false);
this.Add(textFeld);
textFeld.Focus();
TextLieferant.wechsleAuswahlText("1.2.3A", TempQueue, false);
WechsleBG("Schiffsauswahl_Name");
break;
case 4:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
break;
}
#endregion
break;
case "1.2.3A":
#region Bauen_Namenswahl (Demo ready)
if (Globals.PlayerSession.Controller.Button("Enter").Pressed)
{
TempSprachText.Clear();
gewählterSchiffsName = textFeld.getInput();
//TODO namens einzigartigkeit einabauen
if (textFeld.Text.ToString().IsEmpty())
{
TempSprachText.Enqueue("Bau_KeinName");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<String>(), Globals.Remake.HalfWidth, 100);
}
//Wenn Eingabe erfolgt, Textfeld nicht leer und Eingabe kein Duplikater Schiffsname ist -> zu Bestätigung Szene
bool nameIstDuplikat = false;
foreach (Schiff s in Globals.AktuellerSpieler.SCHIFFE)
{
if (s.NAME == textFeld.Text.ToString())
{
nameIstDuplikat = true;
}
}
if (!nameIstDuplikat)
{
letzteÜbergebeneListe.Clear();
letzteÜbergebeneListe.Add(gewählterSchiffsName);
//Variable Texte füllen
TempQueue = new Queue<string>();
geldQuellenIndex = 0;
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
}
}
}
//Sprachtexte erzeugen
TempSprachText.Clear();
TempSprachParams.Clear();
TempSprachText.Enqueue("Bezahlen_ANZAHLUNG1");
TempSprachText.Enqueue("Bezahlen_ANZAHLUNG2");
//Parameter 1 & 2: $ Betrag der Anzahlung
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempSprachParams.Enqueue((SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString());
TempSprachParams.Enqueue((SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString());
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
//Texteingabe muss gelöscht werden sonst verbleibt die eingabe auf dem screen
Remove(textFeld);
TextLieferant.wechsleAuswahlText("1.2.3B", TempQueue, false);
WechsleBG("Büro");
}
else
{
if (TempSprachText.IsEmpty())
{
TempSprachText.Enqueue("Bau_NameDuplikat");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<String>(), Globals.Remake.HalfWidth, 100);
}
}
}
#endregion
break;
case "1.2.3B":
#region Bauen_Bezahlen (Demo ready)
switch (tempAuswahl)
{
case 0:
break;
case 1:
//Wiederholung des Anzahlungsbetrages
//Sprachtexte erzeugen
TempSprachText.Clear();
TempSprachParams.Clear();
TempSprachText.Enqueue("Bezahlen_ANZAHLUNG1");
TempSprachText.Enqueue("Bezahlen_ANZAHLUNG2");
//Parameter 1 & 2: $ Betrag der Anzahlung
SchablonenSchiff = suchenSchablone(aktuellGewählterSchiffstyp);
TempSprachParams.Enqueue((SchablonenSchiff.ANZAHLUNGSPREIS / 100).ToString());
TempSprachParams.Enqueue((SchablonenSchiff.ANZAHLUNGSPREIS % 100).ToString());
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
break;
case 2:
//Anzahlung muss vorab bezahlt werden
//WEnn nicht genug geld -> Fehlermeldung
Filiale GeldQuelleLager = null;
Schiff GeldQuelleSchiff = null;
kannBezahlen = true;
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (Globals.AktuellerSpieler == f.BESITZER)
{
GeldQuelleLager = f;
}
}
}
else
{
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
GeldQuelleSchiff = s;
}
}
}
if (GeldQuelleLager != null)
{
//Geldquelle ist Lager -> Geld hier abziehen
if (GeldQuelleLager.BUDGET < SchablonenSchiff.ANZAHLUNGSPREIS)
{
kannBezahlen = false;
}
}
else
{
//Geldquelle ist Schiff -> geld hier abziehen
if (GeldQuelleSchiff.SCHIFFSBUDGET < SchablonenSchiff.ANZAHLUNGSPREIS)
{
kannBezahlen = false;
}
}
if (kannBezahlen)
{
//Vorraussichtliches Fertigstellungsdatum
DateTime TempDatum = Globals.AktuellesDatum.Add(new TimeSpan(SchablonenSchiff.LIEFERZEIT, 0, 0));
//Erstellen des Schiffs als reales Objekt und anmelden im aktuellen Hafen
Schiff TempSchiff = new Schiff(letzteÜbergebeneListe[0], aktuellGewählterSchiffstyp, 0, Globals.AktuellerSpieler);
TempSchiff.initiereBau(TempDatum);
TempSchiff.fahreInHafenEin(aktuellerHafen.NAME);
aktuellerHafen.schiffsAktivität("Einfahren", TempSchiff);
Globals.AktuellerSpieler.erhalteSchiff(TempSchiff);
//Geld muss beigeldquelle abgezogen werden und mögliche Geldquellen müssen eventuell upgedated werden
if (GeldQuelleLager != null)
{//Geldquelle ist Filiale
GeldQuelleLager.verringereBudget(TempSchiff.ANZAHLUNGSPREIS);
}
else
{//Geldquelle ist Schiff
GeldQuelleSchiff.vermindernBudget(TempSchiff.ANZAHLUNGSPREIS);
}
überprüfeGeldquellen();
//Hinzufügen des SchiffsAktivierungsEvent
//Hinweis: Wenn dieses Event nicht mit dem bool bezahlt = true versehen ist wird es am gegebenen Datum dem Hafen übergeben
Globals.EventListe.Add(new WeltEvent(TempDatum, "SCHIFFBAU-FERTIGSTELLUNG", Globals.AktuellerSpieler, null, TempSchiff, aktuellerHafen, 0, null, null));
Globals.EventListe.Sort(new EventSorter());
//Sprachtext erzeugen
TempSprachText.Clear();
TempSprachParams.Clear();
//1. Text Param Anzahl Bau 2.Param Zeitfaktor(Monate/Tage)
TempSprachParams.Enqueue((TempSchiff.LIEFERZEIT / 30).ToString());
TempSprachParams.Enqueue("MONATE");
TempSprachText.Enqueue("Bezahlen_Abschluss1");
TempSprachText.Enqueue("Bezahlen_Abschluss2");
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
//Wechsel zu root Menü
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
}
else
{
//Wenn nicht genug geld dann kurze Warnmeldung
TempSprachText.Enqueue("Bezahlen_KEINGELD");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
break;
case 3:
//Wechsle die Geldquelle
geldQuellenIndex++;
if (geldQuellenIndex >= möglicheGeldQuellen.Count())
{
geldQuellenIndex = 0;
}
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
}
}
}
TextLieferant.wechsleAuswahlText("1.2.3B", TempQueue, false);
break;
case 4:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
break;
}
#endregion
break;
case "1.4":
#region Gebraucht kaufen Logik
//TODO: Multi-Kauf des gleichen Schiffs ist möglich
// Kaufen eines gebrauchten Schiffes - Typauswahl
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 1:
// Nächstes Model zeigen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
SchiffsIndex++;
if (SchiffsIndex >= gebrauchteSchiffe.Count())
SchiffsIndex = gebrauchteSchiffe.Count() - 1;
aktuellGewählterSchiffstyp = gebrauchteSchiffe[SchiffsIndex].SCHIFFSTYP;
GebrauchtWert = gebrauchteSchiffe[SchiffsIndex].NEUWERT;
//Verlaufswert muss berechnet werden
//-> Normalerweise wird prozentual zur Abnutzung die Differenz aus Neuwert-(Grad der Abnutzung in %) gerechnet
//-> Da Reparatur noch nich einbaut ist wird Altersabhängig bestimmt ((1/2)* Alter in jahren)
for (int Alter = 0; Alter < gebrauchteSchiffe[SchiffsIndex].ALTER; Alter++)
{//halbiere den NeuWert pro jahr
GebrauchtWert /= 2;
}
switch (aktuellGewählterSchiffstyp)
{
#region SchiffsParams
//Erzeugen der jeweiligen Anzeigen Texte je nach Schiffstyp
case "SCHONER":
WechsleBG("Schiffsauswahl_Schoner");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BARK":
WechsleBG("Schiffsauswahl_Bark");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "HOLZDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Holzdampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "EISENDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Eisendampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BRIGG":
WechsleBG("Schiffsauswahl_Brigg");
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 320;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "FREGATTE":
WechsleBG("Schiffsauswahl_Fregatte");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 240;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "KLIPPER":
WechsleBG("Schiffsauswahl_Klipper");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 190;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
break;
case 2:
// Letztes Model zeigen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
SchiffsIndex--;
if (SchiffsIndex < 0)
SchiffsIndex = 0;
aktuellGewählterSchiffstyp = gebrauchteSchiffe[SchiffsIndex].SCHIFFSTYP;
GebrauchtWert = gebrauchteSchiffe[SchiffsIndex].NEUWERT;
//Verlaufswert muss berechnet werden
//-> Normalerweise wird prozentual zur Abnutzung die Differenz aus Neuwert-(Grad der Abnutzung in %) gerechnet
//-> Da Reparatur noch nich einbaut ist wird Altersabhängig bestimmt ((1/2)* Alter in jahren)
for (int Alter = 0; Alter < gebrauchteSchiffe[SchiffsIndex].ALTER; Alter++)
{//halbiere den NeuWert pro jahr
GebrauchtWert /= 2;
}
switch (aktuellGewählterSchiffstyp)
{
#region SchiffsParams
//Erzeugen der jeweiligen Anzeigen Texte je nach Schiffstyp
case "SCHONER":
WechsleBG("Schiffsauswahl_Schoner");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BARK":
WechsleBG("Schiffsauswahl_Bark");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "HOLZDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Holzdampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(4), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 160;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 180;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "EISENDAMPFSCHIFF":
WechsleBG("Schiffsauswahl_Eisendampfschiff");
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 80;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp.Substring(5), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "BRIGG":
WechsleBG("Schiffsauswahl_Brigg");
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 40;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 280;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 300;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 320;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "FREGATTE":
WechsleBG("Schiffsauswahl_Fregatte");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 60;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 80;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 100;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 350;
TempText.Y = 120;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 140;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 200;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 220;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 240;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
case "KLIPPER":
WechsleBG("Schiffsauswahl_Klipper");
TempText = new Text("KABINEN FÜR " + gebrauchteSchiffe[SchiffsIndex].KABINEN + " PASSAGIERE.", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 300;
TempText.Y = 30;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("BESATZUNG: " + gebrauchteSchiffe[SchiffsIndex].MANNSCHAFT_MAXGRÖßE + " MANN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 50;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LADERAUM: " + gebrauchteSchiffe[SchiffsIndex].LADERAUM + " TONNEN", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 70;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("LIEFERZEIT: " + StandardLieferZeit.TotalDays + " TAGE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 320;
TempText.Y = 90;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("RUMPF: " + gebrauchteSchiffe[SchiffsIndex].BAUMATERIAL, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 340;
TempText.Y = 110;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("PREIS: $" + (GebrauchtWert / 100).ToString() + "," + (GebrauchtWert % 100).ToString(), Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 130;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("ALTER: " + gebrauchteSchiffe[SchiffsIndex].ALTER.ToString() + " JAHRE", Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 360;
TempText.Y = 150;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("TYPE: " + aktuellGewählterSchiffstyp, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 170;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
TempText = new Text("NAME: " + gebrauchteSchiffe[SchiffsIndex].NAME, Assets.FONT_AMIGA4EVER2, 12);
TempText.X = 380;
TempText.Y = 190;
TempText.Color = Globals.AnzeigeBraun;
anzeigeTextListe.Add(TempText);
break;
#endregion
}
TextLieferant.erzeugeAnzeigeTexte(anzeigeTextListe);
break;
case 3:
// Nächste Geldquelle
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
//Wechsle die Geldquelle
geldQuellenIndex++;
TempQueue.Clear();
if (geldQuellenIndex >= möglicheGeldQuellen.Count())
{
geldQuellenIndex = 0;
}
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
}
}
}
TextLieferant.wechsleAuswahlText("1.4", TempQueue, false);
break;
case 4:
// Bestätigung - Schiff kaufen
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
Filiale GeldQuelleLager = null;
Schiff GeldQuelleSchiff = null;
kannBezahlen = true;
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (Globals.AktuellerSpieler == f.BESITZER)
{
GeldQuelleLager = f;
}
}
}
else
{
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
GeldQuelleSchiff = s;
}
}
}
if (GeldQuelleLager != null)
{
//Geldquelle ist Lager -> Geld hier abziehen
if (GeldQuelleLager.BUDGET < GebrauchtWert)
{
kannBezahlen = false;
}
else
{
//Geld muss bei Geldquelle abgezogen werden
GeldQuelleLager.verringereBudget(GebrauchtWert);
überprüfeGeldquellen();
}
}
else
{
//Geldquelle ist Schiff -> geld hier abziehen
if (GeldQuelleSchiff.SCHIFFSBUDGET < GebrauchtWert)
{
kannBezahlen = false;
}
else
{
//Geld muss bei Geldquelle abgezogen werden
GeldQuelleSchiff.vermindernBudget(GebrauchtWert);
überprüfeGeldquellen();
}
}
if (kannBezahlen)
{
//Vorraussichtliches Fertigstellungsdatum
//Bereitstellungsevent ist immer direkt am nächsten tag (Wenn Schiff noch gebaut wird wird dessen Datum übernommen ansonsten standard 4 Tage)
DateTime TempDatum = Globals.AktuellesDatum.Add(new TimeSpan(1, 0, 0, 0));
//Erstellen des Schiffs als reales Objekt und anmelden im aktuellen Hafen
Schiff TempSchiff = gebrauchteSchiffe[SchiffsIndex];
//Hinzufügen des SchiffsAktivierungsEvent
//Hinweis: Wenn dieses Event nicht mit dem bool bezahlt = true versehen ist wird es am gegebenen Datum dem Hafen übergeben
TempSchiff.initiereBereitstellung(Globals.AktuellesDatum + StandardLieferZeit);
TempSchiff.COMMANDEUR = Globals.AktuellerSpieler;
gebrauchteSchiffe.Remove(TempSchiff);
Globals.EventAktion(new WeltEvent(TempDatum, "SCHIFFBAU-BEREITSTELLUNG", null, null, TempSchiff, aktuellerHafen, 0, null, null), "EINFÜGEN");
Globals.EventAktion(new WeltEvent(TempDatum.AddDays(3), "SCHIFFBAU-FERTIGSTELLUNG", null, null, TempSchiff, aktuellerHafen, 0, null, null), "EINFÜGEN");
Globals.EventListe.Sort(new EventSorter());
//Kaufender Spieler erhält schiff
Globals.AktuellerSpieler.erhalteSchiff(TempSchiff);
//Sprachtext erzeugen
TempSprachText.Clear();
TempSprachParams.Clear();
//1. Text Param Anzahl Bau 2.Param Zeitfaktor(Monate/Tage)
TempSprachParams.Enqueue(StandardLieferZeit.TotalDays.ToString());
TempSprachParams.Enqueue("TAGE");
TempSprachText.Enqueue("Bezahlen_Abschluss1");
TempSprachText.Enqueue("Bezahlen_Abschluss2");
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
//Anzeigetext muss gelöscht werden
TextLieferant.erzeugeAnzeigeTexte(new List<Text>());
//Wechsel zu root Menü
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
}
else
{
//Wenn nicht genug geld dann kurze Warnmeldung
TempSprachText.Enqueue("Bezahlen_KEINGELD");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
break;
case 5:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
//Anzeigetext muss gelöscht werden
TextLieferant.erzeugeAnzeigeTexte(new List<Text>());
break;
}
#endregion
break;
case "1.5A":
#region Schiff verkaufen Logik - Schiffwahl (Demo ready)
// Verkaufen eines Schiffes - Model
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 999:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
break;
default:
// Jeweilige Auswahl ist die Bootsauswahl
//Zunächst muss der Preis für das angebotene Schiff berechnet werden
//Im original wird prozentual berechnet -> aktuell jedoch noch ein 1/4. des Orignialpreises im bezug auf alter
Schiff TempSchiff = null;
GebrauchtWert = 0;
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == letzteÜbergebeneListe[tempAuswahl - 1])
{
TempSchiff = s;
GebrauchtWert = TempSchiff.NEUWERT;
break;
}
}
letzteÜbergebeneListe.Clear();
letzteÜbergebeneListe.Add(TempSchiff.NAME);
// Runterrechnen des Gebrauchtwertes
for (int Alter = 0; Alter <= TempSchiff.ALTER; Alter++)
{//halbiere den NeuWert pro jahr (+ einmal mehr halbieren um zu vierteln)
GebrauchtWert /= 2;
}
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Verkauf_Angebot");
TempSprachParams = new Queue<string>();
//1. Parameter Schiffsname
TempSprachParams.Enqueue(TempSchiff.NAME);
//2 & 3. Parameter Angebotspreis
TempSprachParams.Enqueue((GebrauchtWert / 100).ToString());
TempSprachParams.Enqueue((GebrauchtWert % 100).ToString());
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
TextLieferant.wechsleAuswahlText("1.5B", new Queue<string>(), false);
break;
}
#endregion
break;
case "1.5B":
#region Schiff Verkaufen Bestätigung (Demo ready)
// Auswahl, ob schiff verkauft wird zum Angebotenen Preis
switch (tempAuswahl)
{
case 0:
//Noch keine auswahl getroffen
break;
case 1:
//Wiederholen Angebot
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Verkauf_Angebot");
TempSprachParams = new Queue<string>();
//1. Parameter Schiffsname
TempSprachParams.Enqueue(letzteÜbergebeneListe[0]);
//2 & 3. Parameter Angebotspreis
TempSprachParams.Enqueue((GebrauchtWert / 100).ToString());
TempSprachParams.Enqueue((GebrauchtWert % 100).ToString());
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
break;
case 2:
//Bestätigen Verkauf
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Verkauf_Abschluss");
TempSprachParams = new Queue<string>();
//1 & 2. Parameter Angebotspreis
TempSprachParams.Enqueue((GebrauchtWert / 100).ToString());
TempSprachParams.Enqueue((GebrauchtWert % 100).ToString());
//3. Parameter Zielort der Einzahlung -> hier wird erster eintrag in der möglichen Geldquellenliste genommen(meist das Lager)
if (möglicheGeldQuellen[0] == "LAGER")
{
TempSprachParams.Enqueue("LAGERKASSE");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
// Wenn Verkauf bestätigt wird der Betrag ins Lager gegeben
if (f.BESITZER == Globals.AktuellerSpieler)
{
f.erhöheBudget(GebrauchtWert);
break;
}
}
}
else
{
TempSprachParams.Enqueue("SCHIFFSKASSE DER " + möglicheGeldQuellen[0]);
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
//Wenn Verkauf bestätigt wird Betrag auf erstes angedocktes Schiff gegeben
if (s.NAME == möglicheGeldQuellen[0])
{
s.erhöhenBudget(GebrauchtWert);
break;
}
}
}
// Schiff muss an Hafen übergehen
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == letzteÜbergebeneListe[0])
{
Globals.AktuellerSpieler.schiffLoswerden(s, true);
s.COMMANDEUR = null;
break;
}
}
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
break;
case 3:
//Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
WechsleBG("Büro");
break;
}
#endregion
break;
case "1.6A":
#region Schiff bezahlen Logik-Auswahl welches zu bauende Schiff bezahlt wird (Demo ready)
// Auswahl welches Schiff noch abzubezahlen ist
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 999:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1.6B", new Queue<string>(), false);
WechsleBG("Büro");
break;
default:
// Jeweilige Auswahl ist die Bootsauswahl
Schiff TempSchiff = null;
betragAbbezahlen = 0;
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == letzteÜbergebeneListe[tempAuswahl - 1])
{
TempSchiff = s;
betragAbbezahlen = TempSchiff.RESTBETRAGKAUFPREIS;
break;
}
}
if (betragAbbezahlen <= 0)
{
//Schiff ist bereits abbezahlt -> kein verzeigen in die nächste Seite
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Bezahlen_KeinRestbetrag");
TempSprachParams = new Queue<string>();
//1 & 2. Parameter Angebotspreis
TempSprachParams.Enqueue(letzteÜbergebeneListe[tempAuswahl - 1]);
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
}
else
{
letzteÜbergebeneListe.Clear();
letzteÜbergebeneListe.Add(TempSchiff.NAME);
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Bezahlen_Restbetrag");
TempSprachParams = new Queue<string>();
//1 & 2. Parameter Angebotspreis
TempSprachParams.Enqueue((betragAbbezahlen / 100).ToString());
TempSprachParams.Enqueue((betragAbbezahlen % 100).ToString());
TextLieferant.erzeugeSprachText(TempSprachText, TempSprachParams, Globals.Remake.HalfWidth, 100);
//Variable Auswahl Texte füllen
TempQueue = new Queue<string>();
geldQuellenIndex = 0;
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
WunschRestBetrag = f.BUDGET;
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
WunschRestBetrag = s.SCHIFFSBUDGET;
}
}
}
//2. Paramtext -> gewünschter Zahlbetrag (Std immer voller Preis oder was 1. Geldquelle hergibt)
if (betragAbbezahlen <= WunschRestBetrag)
{
//Wenn möglicher Betrag der geldquelle > abzubezahlender Betrag -> abzubezahlender Betrag = max
WunschRestBetrag = betragAbbezahlen;
}
TempQueue.Enqueue((WunschRestBetrag / 100).ToString());
TempQueue.Enqueue((WunschRestBetrag % 100).ToString());
//3 Paramtertext -> Schiffsname
TempQueue.Enqueue(TempSchiff.NAME);
TextLieferant.wechsleAuswahlText("1.6B", TempQueue, false);
}
break;
}
#endregion
break;
case "1.6B":
#region Schiff bezahlen Logik-Auswahl der finanziellen Aspekte des zu bezahlenden Schiff (Demo ready)
// Bezahlen des Restbetrages eines beauftragten Schiffsbaus
switch (tempAuswahl)
{
case 0:
//Noch keine Auswahl getroffen
break;
case 1:
//Geldquelle
//Bei Linksklick erhöhen
geldQuellenIndex++;
if (geldQuellenIndex >= möglicheGeldQuellen.Count())
{
geldQuellenIndex = 0;
}
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
WunschRestBetrag = f.BUDGET;
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
WunschRestBetrag = s.SCHIFFSBUDGET;
}
}
}
//2. Paramtext -> gewünschter Zahlbetrag (Std immer voller Preis oder was 1. Geldquelle hergibt)
if (betragAbbezahlen <= WunschRestBetrag)
{
//Wenn möglicher Betrag der geldquelle > abzubezahlender Betrag -> abzubezahlender Betrag = max
WunschRestBetrag = betragAbbezahlen;
}
TempQueue.Enqueue((WunschRestBetrag / 100).ToString());
TempQueue.Enqueue((WunschRestBetrag % 100).ToString());
//3 Paramtertext -> Schiffsname
TempQueue.Enqueue(letzteÜbergebeneListe[0]);
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1.6B", TempQueue, false);
break;
case 2:
//gewünschter Bezahlbetrag
if (TextLieferant.checkButtonAuswahl() == "MausLinks")
{
//Bei Linksklick erhöhen um $100
betragAbbezahlen += 10000;
int TempMax;
Filiale QuellenFiliale;
Schiff QuellenSchiff = null;
Schiff TempSchiff = null;
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == letzteÜbergebeneListe[0])
{
TempSchiff = s;
break;
}
}
if (setzeGeldQuelle().GetType() == typeof(Filiale))
{
//Geldquelle ist Lager
QuellenFiliale = setzeGeldQuelle() as Filiale;
TempMax = QuellenFiliale.BUDGET;
if (betragAbbezahlen >= TempMax)
{
betragAbbezahlen = TempMax;
}
}
else
{
//Geldquelle ist Schiff
QuellenSchiff = setzeGeldQuelle() as Schiff;
TempMax = QuellenSchiff.SCHIFFSBUDGET;
if (betragAbbezahlen >= TempMax)
{
betragAbbezahlen = TempMax;
}
}
//check ob gewählter Betrag maximaler abbezahl betrag überschreitet
if (betragAbbezahlen >= TempSchiff.RESTBETRAGKAUFPREIS)
{
betragAbbezahlen = TempSchiff.RESTBETRAGKAUFPREIS;
}
}
else
{
//bei rechtsklick vermindern um $100
betragAbbezahlen -= 10000;
//Min kriterium
if (betragAbbezahlen < 0)
{
betragAbbezahlen = 0;
}
}
// Paramter1: Quellort Geld
// Parameter2: Geldmenge der Quelle
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
TempQueue.Enqueue("IM LAGER VERFÜGE ICH");
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
TempQueue.Enqueue((f.BUDGET / 100).ToString());
TempQueue.Enqueue((f.BUDGET % 100).ToString());
}
}
}
else
{
TempQueue.Enqueue("DIE " + möglicheGeldQuellen[geldQuellenIndex] + " VERFÜGT");
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.COMMANDEUR == Globals.AktuellerSpieler && s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
TempQueue.Enqueue((s.SCHIFFSBUDGET / 100).ToString());
TempQueue.Enqueue((s.SCHIFFSBUDGET % 100).ToString());
WunschRestBetrag = s.SCHIFFSBUDGET;
}
}
}
//2. Paramtext -> gewünschter Zahlbetrag (Std immer voller Preis oder was 1. Geldquelle hergibt)
TempQueue.Enqueue((betragAbbezahlen / 100).ToString());
TempQueue.Enqueue((betragAbbezahlen % 100).ToString());
//3 Paramtertext -> Schiffsname
TempQueue.Enqueue(letzteÜbergebeneListe[0]);
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1.6B", TempQueue, false);
break;
case 3:
//Bestätigen
//Absicherung, dass User nicht versucht 0 zu bezahlen
if (betragAbbezahlen <= 0)
{
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Bezahlen_KeinZahlbetrag");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
}
else
{
//Abziehen des Geldbetrages
Filiale GeldQuelleLager = null;
Schiff GeldQuelleSchiff = null;
kannBezahlen = true;
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (Globals.AktuellerSpieler == f.BESITZER)
{
GeldQuelleLager = f;
}
}
}
else
{
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
GeldQuelleSchiff = s;
}
}
}
if (GeldQuelleLager != null)
{
//Geldquelle ist Lager -> Geld hier abziehen
GeldQuelleLager.verringereBudget(GebrauchtWert);
überprüfeGeldquellen();
}
else
{
//Geldquelle ist Schiff -> geld hier abziehen
GeldQuelleSchiff.vermindernBudget(GebrauchtWert);
überprüfeGeldquellen();
}
//Vorraussichtliches Fertigstellungsdatum
//Bereitstellungsevent ist immer direkt am nächsten tag (Wenn Schiff noch gebaut wird wird dessen Datum übernommen ansonsten standard 4 Tage)
DateTime TempDatum = Globals.AktuellesDatum.Add(new TimeSpan(1, 0, 0, 0));
Schiff TempSchiff = null;
//Suchen des Schiffs im aktuellen Hafen
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == letzteÜbergebeneListe[0])
{
TempSchiff = s;
break;
}
}
//Hinzufügen des SchiffsAktivierungsEvent
//Hinweis: Wenn dieses Event nicht mit dem bool bezahlt = true versehen ist wird es am gegebenen Datum dem Hafen übergeben
if (TempSchiff.schiffAbbezahlen(betragAbbezahlen) == "ERFOLG_BEZAHLT")
{
//Wenn schiff fertig abbezahlt dann wird bereitstellungsevent eingefügt
Globals.EventAktion(new WeltEvent(TempDatum, "SCHIFFBAU-BEREITSTELLUNG", null, null, TempSchiff, aktuellerHafen, 0, null, null), "EINFÜGEN");
Globals.EventListe.Sort(new EventSorter());
}
//Erzeugen Sprachtext
TempSprachText = new Queue<string>();
TempSprachText.Enqueue("Bezahlen_BestenDank");
TempSprachText.Enqueue("Bezahlen_Zufrieden");
TextLieferant.erzeugeSprachText(TempSprachText, new Queue<string>(), Globals.Remake.HalfWidth, 100);
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
}
break;
case 4:
// Abbruch
Console.WriteLine("Auswahl " + tempAuswahl + " der Ebene " + TextLieferant.aktuelleEbene);
TextLieferant.wechsleAuswahlText("1", new Queue<string>(), false);
break;
}
#endregion
break;
}
}
public Schiff suchenSchablone(string SchiffsTyp)
{
foreach (Schiff s in Globals.AlleSchiffsTypen)
{
if (s.SCHIFFSTYP == SchiffsTyp)
{ return s; }
}
return null;
}
public void WechsleBG(string Ziel)
{
// Vor wechsel muss erstmal der aktuelle ausgeblendet werden
aktuellerBG.Alpha = 0f;
RemoveGraphic(aktuellerBG);
// Wechseln des Background je nach Zielebene des Auswahlbaums (so muss nicht jeweils neue Szenen für einzelne Baum Strukturen gebaut werden)
switch (Ziel)
{
case "Büro":
WerftScreen_Büro.Alpha = 1f;
aktuellerBG = WerftScreen_Büro;
break;
case "Reparatur":
WerftScreen_Reparatur.Alpha = 1f;
aktuellerBG = WerftScreen_Reparatur;
break;
case "Schiffsauswahl":
WerftScreen_SchiffsAuswahl.Alpha = 1f;
aktuellerBG = WerftScreen_SchiffsAuswahl;
break;
case "Schiffsauswahl_Schoner":
Schiffsauswahl_Schoner.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Schoner;
break;
case "Schiffsauswahl_Bark":
Schiffsauswahl_Bark.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Bark;
break;
case "Schiffsauswahl_Holzdampfschiff":
Schiffsauswahl_Holzdampfschiff.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Holzdampfschiff;
break;
case "Schiffsauswahl_Eisendampfschiff":
Schiffsauswahl_Eisendampfschiff.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Eisendampfschiff;
break;
case "Schiffsauswahl_Brigg":
Schiffsauswahl_Brigg.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Brigg;
break;
case "Schiffsauswahl_Fregatte":
Schiffsauswahl_Fregatte.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Fregatte;
break;
case "Schiffsauswahl_Klipper":
Schiffsauswahl_Klipper.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Klipper;
break;
case "Schiffsauswahl_Name":
Schiffsauswahl_Name.Alpha = 1f;
aktuellerBG = Schiffsauswahl_Name;
break;
}
// Wenn Änderung aktiv dann neues BG laden
AddGraphic(aktuellerBG);
}
private void überprüfeGeldquellen()
{
//Liste möglicher Geldquellen (Für einige Auswahlbäume notwendig)
// MöglicheGeldQuelle wird im Verkaufsstrang als ZielKasse benutzt
möglicheGeldQuellen.Clear();
geldQuellenIndex = 0;
aktuellerHafen.überprüfeAktuelleFilialeVorhanden(Globals.AktuellerSpieler);
if (aktuellerHafen.filialeVorhanden)
{
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
möglicheGeldQuellen.Add("LAGER");
}
}
}
//Wenn Schiffe vorhanden -> Schiff ist mögliche Quelle
foreach (Schiff Boot in aktuellerHafen.angedockteSchiffe)
{
if (Boot.COMMANDEUR == Globals.AktuellerSpieler)
{
//Mögliche Geldziele sind alle Schiffe des Spielers
möglicheGeldQuellen.Add(Boot.NAME);
}
}
}
private Entity setzeGeldQuelle()
{
if (möglicheGeldQuellen[geldQuellenIndex] == "LAGER")
{
foreach (Filiale f in aktuellerHafen.vorhandeneFilialen)
{
if (f.BESITZER == Globals.AktuellerSpieler)
{
return f;
}
}
}
else
{
foreach (Schiff s in aktuellerHafen.angedockteSchiffe)
{
if (s.NAME == möglicheGeldQuellen[geldQuellenIndex])
{
return s;
}
}
}
return null;
}
private class EventSorter : IComparer<WeltEvent>
{
//Sortier Comparer -> Sortiert alle Events nach Datum (muss immer aufgerfen werden wenn datum abgefragt wird)
public int Compare(WeltEvent e1, WeltEvent e2)
{
if (e1.EventDate.CompareTo(e2.EventDate) == 0)
{
//Wenn beide Events gleich dann nach Spieler Sortieren
switch (e1.BetroffenerSpielerName)
{
case "System":
switch (e2.BetroffenerSpielerName)
{
case "System": return 0;
default: return -1;
}
case "Spieler1":
switch (e2.BetroffenerSpielerName)
{
case "System": return 1;
case "Spieler1": return 0;
default: return -1;
}
case "Spieler2":
switch (e2.BetroffenerSpielerName)
{
case "System": return 1;
case "Spieler1": return 1;
case "Spieler2": return 0;
default: return -1;
}
case "Spieler3":
switch (e2.BetroffenerSpielerName)
{
case "Spieler3": return 0;
case "Spieler4": return -1;
default: return 1;
}
case "Spieler4":
switch (e2.BetroffenerSpielerName)
{
case "Spieler4": return 0;
default: return 1;
}
default: return 0;
}
}
else
return e1.EventDate.CompareTo(e2.EventDate);
}
}
}
}