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.

891 lines
39 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Otter;
using _1869_Remake;
using _1869_Remake.ToolKlassen;
using _1869_Remake.Entities;
namespace _1869_Remake.Scenes
{
public class ConfigScreen : Scene
{
// Imageobjekte mit dem Config Bildschirm
public Image ConfigImage = new Image(Assets.CONFIGSCREEN);
public Image FadeInBlackScreen = new Image(Assets.BLACKSCREEN);
public Image FadeOutBlackScreen = new Image(Assets.BLACKSCREEN);
// Welche Einstellungsseite gerade gezeigt wird
// 0 = Moduswahl
// 1 = Ladebildschirm
// 2 = Anzahl Spieler
// 3 = Name der Spieler
// 4 = Geschlechterwahl
// 5 = Firma der Spieler
// 6 = Starthafen wählen
// 7 = Bestätigung der Daten
// 8 = Spieldauer
public int configSeite = 0;
//Nur wenn wahl abgeschlossen wird nächster Text angezeigt
public bool wahlFertig = true;
public bool anzeigeFertig = false;
//Anzahl Spieler : 1-4 möglich
public int aktuellerSpieler = 0;
public int spielerIndex = 1;
public Hafen startFiliale;
public Text[] anzeigeTexte = new Text[10];
//Textbox zum Eingeben der Texte
public TextBox textFeld;
//Geschlecht: M = Männlich, W = Weiblich
public String geschlecht;
//Name der Firma und des Spielers
string spielerName;
public string nameFirma;
public int ersteFiliale;
public int spielDauer;
public bool bestätigt = false;
private bool beginner = false;
private Hafen tempHafen;
public const float TIMER_GRENZE = 45f;
//AnzeigeTimer muss hoch starten damit sofort erstes bild angezeigt wird
public float szenenTimer = 0f;
public int counter = 0;
public ConfigScreen()
{
Globals.aktuelleSzene = "Config";
//Initialisieren des Hauptbildschirms und einblenden
ConfigImage.CenterOrigin();
ConfigImage.X = Globals.Remake.HalfWidth;
ConfigImage.Y = Globals.Remake.HalfHeight;
ConfigImage.Alpha = 1f;
AddGraphic(ConfigImage);
Tween(ConfigImage, new { Alpha = 1f }, 120f, 0f).Ease(Ease.BackInOut);
//Vorbereiten des Blackscreens
FadeInBlackScreen.CenterOrigin();
FadeInBlackScreen.X = Globals.Remake.HalfWidth;
FadeInBlackScreen.Y = Globals.Remake.HalfHeight;
FadeInBlackScreen.Alpha = 1f;
AddGraphic(FadeInBlackScreen);
Tween(FadeInBlackScreen, new { Alpha = 0f }, 180f, 0f).Ease(Ease.BackInOut);
FadeOutBlackScreen.CenterOrigin();
FadeOutBlackScreen.X = Globals.Remake.HalfWidth;
FadeOutBlackScreen.Y = Globals.Remake.HalfHeight;
FadeOutBlackScreen.Alpha = 0f;
}
public override void Update()
{
base.Update();
//hochzählendes Zeitelement um Aktionen in der Szene zu Takten
szenenTimer++;
//Erst nach Timer sind aktionen möglich
if (szenenTimer >= TIMER_GRENZE)
{
// Nach dem timer alle unsichtbaren Texte einblenden um Zeit zwischen Texten zu simulieren => Kein flackern durch schnell eingeblendete Texte
// Nur neu erstellen wenn notwendig für bessere Performance
if (!anzeigeFertig)
{
foreach (Text t in anzeigeTexte)
{
if (t != null)
{
t.Alpha = 1f;
t.Color = Globals.ConfigGrau;
}
}
if (configSeite == 3 || configSeite == 5)
{
textFeld.Focus();
}
anzeigeFertig = true;
}
if (wahlFertig)
{
//Initialisieren der Grafiken erst ab 2. Durchgang (Nurentfernen der Texte nicht des Hintergrundbildes)
if (configSeite != 0)
{
foreach (Text t in anzeigeTexte)
{
RemoveGraphic(t);
}
if (configSeite == 4 || configSeite == 6)
Remove(textFeld);
}
//Initialisieren des Arrays
counter = 0;
foreach (var t in anzeigeTexte)
{
if (t != null)
{
counter++;
}
}
for (int i = 0; i < counter; i++)
{
anzeigeTexte[i] = null;
}
//Anzeige des aktuellen Textes
switch (configSeite)
{
//Versionsscreen
case 0:
anzeigeTexte[0] = Globals.CONFIGTEXT0;
anzeigeTexte[1] = Globals.CONFIGTEXT0_1;
anzeigeTexte[2] = Globals.CONFIGTEXT0_2;
break;
//Spiel laden oder Neu
case 1:
anzeigeTexte[0] = Globals.CONFIGTEXT1;
break;
//Anzahl Spieler
case 2:
anzeigeTexte[0] = Globals.CONFIGTEXT2;
break;
// Name Spieler
case 3:
switch (aktuellerSpieler)
{
case 1: anzeigeTexte[0] = Globals.CONFIGTEXT3_A; break;
case 2: anzeigeTexte[0] = Globals.CONFIGTEXT3_B; break;
case 3: anzeigeTexte[0] = Globals.CONFIGTEXT3_C; break;
case 4: anzeigeTexte[0] = Globals.CONFIGTEXT3_D; break;
}
//Eingabefeld für Texteingabe
textFeld = new TextBox(Globals.Remake.HalfWidth - 50, Globals.Remake.HalfHeight, 100, 20, 15, true);
this.Add(textFeld);
break;
// Geschlecht
case 4:
anzeigeTexte[0] = Globals.CONFIGTEXT4;
break;
// Name Firma
case 5:
switch (aktuellerSpieler)
{
case 1: anzeigeTexte[0] = Globals.CONFIGTEXT5_A; break;
case 2: anzeigeTexte[0] = Globals.CONFIGTEXT5_B; break;
case 3: anzeigeTexte[0] = Globals.CONFIGTEXT5_C; break;
case 4: anzeigeTexte[0] = Globals.CONFIGTEXT5_D; break;
}
//Eingabefeld für Texteingabe
textFeld = new TextBox(Globals.Remake.HalfWidth - 50, Globals.Remake.HalfHeight, 100, 20, 15, true);
this.Add(textFeld);
break;
//Starthafen
case 6:
anzeigeTexte[0] = Globals.CONFIGTEXT6_A;
anzeigeTexte[1] = Globals.CONFIGTEXT6_B;
anzeigeTexte[2] = Globals.CONFIGTEXT6_C;
anzeigeTexte[3] = Globals.CONFIGTEXT6_D;
anzeigeTexte[4] = Globals.CONFIGTEXT6_E;
anzeigeTexte[5] = Globals.CONFIGTEXT6_F;
break;
// Zusammenfassung der Daten
case 7:
anzeigeTexte[0] = new Text("SPIELERNAME: " + spielerName, Assets.FONT_AMIGA4EVER2, 10);
anzeigeTexte[1] = new Text("GESCHLECHT : " + geschlecht, Assets.FONT_AMIGA4EVER2, 10);
anzeigeTexte[2] = new Text("FIRMENNAME : " + nameFirma, Assets.FONT_AMIGA4EVER2, 10);
anzeigeTexte[3] = new Text("STARTHAFEN : " + startFiliale.NAME, Assets.FONT_AMIGA4EVER2, 10);
anzeigeTexte[4] = new Text("", Assets.FONT_AMIGA4EVER2, 10);
anzeigeTexte[5] = Globals.CONFIGTEXT7;
//Hier Kopieren der Spieler in die Globalen Daten einfügen Wenn daten struktur bestimmt ist
break;
// Spieldauer wählen 5-26 Jahre
case 8:
anzeigeTexte[0] = Globals.CONFIGTEXT8_A;
anzeigeTexte[1] = Globals.CONFIGTEXT8_B;
anzeigeTexte[2] = Globals.CONFIGTEXT8_C;
anzeigeTexte[3] = Globals.CONFIGTEXT8_D;
anzeigeTexte[4] = Globals.CONFIGTEXT8_E;
anzeigeTexte[5] = Globals.CONFIGTEXT8_F;
anzeigeTexte[6] = Globals.CONFIGTEXT8_G;
anzeigeTexte[7] = Globals.CONFIGTEXT8_H;
break;
}
//Aufbau der Texte in der mitte des Bildschirms (transparent)
int indexer = 0;
foreach (Text t in anzeigeTexte)
{
if (t != null)
{
if (configSeite == 6)
{
//ohne Center origin damit linksbündigkeit bleibt
t.X = 150;
t.Y = Globals.Remake.HalfHeight - 60 + (indexer * 15);
t.Alpha = 0f;
AddGraphic(t);
}
else
if (configSeite == 7 && indexer != 5)
{
//ohne Center origin damit linksbündigkeit bleibt
t.X = 200;
t.Y = Globals.Remake.HalfHeight - 60 + (indexer * 15);
t.Alpha = 0f;
AddGraphic(t);
}
else
{
t.CenterOrigin();
t.X = Globals.Remake.HalfWidth + 50 - (t.ToString().Length * 5);
t.Y = Globals.Remake.HalfHeight - 30 + (indexer * 15);
t.Alpha = 0f;
AddGraphic(t);
}
indexer++;
}
}
//Wechsel des Textes fertig und timer neu reseten; Nach wechsel muss erst Eingabe des Users erfolgen für nächsten Wechsel
wahlFertig = false;
anzeigeFertig = false;
szenenTimer = 0f;
}
switch (configSeite)
{
//Versionsscreen
case 0:
if (Globals.PlayerSession.Controller.Button("O").Pressed)
{
Globals.SpielModus = 1;
configSeite++;
wahlFertig = true;
setzeHäfen(Globals.SpielModus);
setzenWare(Globals.SpielModus);
setzeSchiffsTypen(Globals.SpielModus);
setzenWarenAufstockung(Globals.SpielModus);
setzenMeeresKnoten(Globals.SpielModus);
setzenMeeresStraßen(Globals.SpielModus);
setzePreisListeUnerwünscht(Globals.SpielModus);
}
if (Globals.PlayerSession.Controller.Button("R").Pressed)
{
//Solange keine erweiterung der Häfen/WAREN geplant weiterhin die reguläre Palette setzen
Globals.SpielModus = 1;
configSeite++;
wahlFertig = true;
setzeHäfen(Globals.SpielModus);
setzeSchiffsTypen(Globals.SpielModus);
setzenWare(Globals.SpielModus);
setzenMeeresKnoten(Globals.SpielModus);
setzenMeeresStraßen(Globals.SpielModus);
setzenWarenAufstockung(Globals.SpielModus);
setzePreisListeUnerwünscht(Globals.SpielModus);
}
break;
//Spiel laden oder Neu
case 1:
if (Globals.PlayerSession.Controller.Button("Leer").Pressed)
{
configSeite++;
wahlFertig = true;
}
else
if (Globals.PlayerSession.Controller.Button("J").Pressed)
{
configSeite++;
wahlFertig = true;
}
break;
//Anzahl Spieler
case 2:
if (Globals.PlayerSession.Controller.Button("1").Pressed)
{
Globals.AnzahlSpieler = 1;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("2").Pressed)
{
Globals.AnzahlSpieler = 2;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("3").Pressed)
{
Globals.AnzahlSpieler = 3;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("4").Pressed)
{
Globals.AnzahlSpieler = 4;
wahlFertig = true;
}
if (wahlFertig)
{
configSeite++;
//Setzen des ersten Spielers
aktuellerSpieler = 1;
}
break;
// Name Spieler
case 3:
if (Globals.PlayerSession.Controller.Button("Enter").Pressed)
{
spielerName = textFeld.getInput();
configSeite++;
wahlFertig = true;
}
break;
// Geschlecht
case 4:
if (Globals.PlayerSession.Controller.Button("M").Pressed)
{
geschlecht = "MÄNNLICH";
configSeite++;
wahlFertig = true;
}
else
if (Globals.PlayerSession.Controller.Button("W").Pressed)
{
geschlecht = "WEIBLICH";
configSeite++;
wahlFertig = true;
}
break;
// Name Firma
case 5:
if (Globals.PlayerSession.Controller.Button("Enter").Pressed)
{
nameFirma = textFeld.getInput();
configSeite++;
wahlFertig = true;
}
break;
//Starthafen
case 6:
if (Globals.PlayerSession.Controller.Button("1").Pressed)
{
Globals.AlleHäfen.TryGetValue("LIVERPOOL", out tempHafen);
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("2").Pressed)
{
Globals.AlleHäfen.TryGetValue("LONDON", out tempHafen);
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("3").Pressed)
{
Globals.AlleHäfen.TryGetValue("LES HAVRES", out tempHafen);
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("4").Pressed)
{
Globals.AlleHäfen.TryGetValue("NEW YORK", out tempHafen);
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("5").Pressed)
{
Globals.AlleHäfen.TryGetValue("SAVANNAH", out tempHafen);
wahlFertig = true;
}
if (wahlFertig)
{
startFiliale = tempHafen;
configSeite++;
}
break;
// Zusammenfassung der Daten (Bestätigung J/N) -> wenn J dann nächster Spieler oder Spieldauerwahl/ Wenn N dann zu case 3 mit selbem Spieler
case 7:
if (Globals.PlayerSession.Controller.Button("J").Pressed)
{
wahlFertig = true;
bestätigt = true;
Spieler tempSpieler = new Spieler(spielerName, nameFirma, geschlecht,spielerIndex++);
tempSpieler.gründetFiliale(startFiliale,0);
// Testschiffe hinzufügen (Zu testzwecken) -> Alle starten am Starthafen
/*
tempSpieler.erhalteSchiff(startFiliale.NAME,1);
tempSpieler.erhalteSchiff(startFiliale.NAME, 2);
tempSpieler.erhalteSchiff(startFiliale.NAME, 3);
tempSpieler.erhalteSchiff(startFiliale.NAME, 4);
tempSpieler.erhalteSchiff(startFiliale.NAME, 5);
*/
}
if (Globals.PlayerSession.Controller.Button("N").Pressed)
{
wahlFertig = true;
}
if (wahlFertig)
{
if (bestätigt)
{
bestätigt = false;
if (aktuellerSpieler == Globals.AnzahlSpieler)
{
configSeite++;
}
else
{
aktuellerSpieler++;
configSeite = 3;
}
}
else
{
configSeite = 3;
}
}
break;
// Spieldauer wählen 5-26 Jahre
case 8:
if (Globals.PlayerSession.Controller.Button("A").Pressed)
{
Globals.Spieldauer = 5;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("B").Pressed)
{
Globals.Spieldauer = 10;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("C").Pressed)
{
Globals.Spieldauer = 15;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("D").Pressed)
{
Globals.Spieldauer = 20;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("E").Pressed)
{
Globals.Spieldauer = 26;
wahlFertig = true;
}
if (Globals.PlayerSession.Controller.Button("F").Pressed)
{
Globals.Spieldauer = 5;
//Bei beginnerspiel wird mehr startkapital festgelegt
beginner = true;
wahlFertig = true;
}
if (wahlFertig)
{
foreach (Spieler aktuellerSpieler in Globals.SpielerListe)
{
//Wenn Spieldauer bestimmt wurde, erhöhe das Budget der Startfiliale(erste und einzige Filiale bisher) um 7000 [da ohne floats gearbeitet werden soll geben wir 70000 ein]
if (beginner)
aktuellerSpieler.FILIALEN.First().erhöheBudget(1200000);
else
aktuellerSpieler.FILIALEN.First().erhöheBudget(700000);
}
Tween(FadeOutBlackScreen, new { Alpha = 1f }, 64f, 0f).Ease(Ease.BackInOut);
AddGraphic(FadeOutBlackScreen);
}
if (FadeOutBlackScreen.Alpha >= 0.999f)
{
//Setzen des Startdatums (StartDatum ist immer 01.01.1854
//Einfügen der festen WeltEvents in die Queue (Original Version)
setzenBasisEvents(1);
switch (Globals.SpielerListe[0].FILIALEN[0].HEIMATHAFEN.NAME)
{
case "LIVERPOOL":
case "LONDON":
case "LES HAVRES":
Globals.weltKarte = "EUROPA"; break;
case "SAVANNAH":
case "NEW YORK":
Globals.weltKarte = "AMERIKA"; break;
}
//Szenenwechsel
Globals.LetzteSzene = "Config";
this.RemoveAll();
this.ClearGraphics();
Globals.Remake.SwitchScene(new worldMap());
}
break;
}
}
}
public void setzeHäfen(int Version)
{
// Original Version
if (Version == 1)
{
//Anlegen aller Originalhäfen (39 Stück)
//Amerika
new Hafen("SAN FRANZISKO", "VEREINIGTE STAATEN", 0, 0, false);
new Hafen("NEW ORLEANS", "VEREINIGTE STAATEN", 0, 0, false);
new Hafen("SAVANNAH", "VEREINIGTE STAATEN", 0, 0, false);
new Hafen("NEW YORK", "KUBA", 0, 0, false);
new Hafen("LOS ANGELES", "VEREINIGTE STAATEN", 0, 0, false);
new Hafen("PUERTO BELLO", "PANAMA", 0, 0, false);
new Hafen("CEYENNE", "GUAYANA", 0, 0, false);
new Hafen("CALLAO", "PERU", 0, 0, false);
new Hafen("ARICA", "CHILE", 0, 0, false);
new Hafen("RIO DE JANEIRO", "KÖNIGREICH BRASILIEN", 0, 0, false);
//Afrika
new Hafen("AKKRA", "NIGERIA", 0, 0, false);
new Hafen("LAGOS", "GOLDKÜSTE", 0, 0, false);
new Hafen("LUANDA", "ANGOLA", 0, 0, false);
new Hafen("KAPSTADT", "KAPLAND", 0, 0, false);
new Hafen("MOCAMBIQUE", "MOCAMBIQUE", 0, 0, false);
new Hafen("TANGA", "DEUTSCH-OSTAFRIKA", 0, 0, false);
//Europa Punkt
new Hafen("PORT SAID", "ÄGYPTEN", 555, 350, false);
new Hafen("ADEN", "ARABIEN", 0, 0, false);
//Europa Punkt
new Hafen("TUNIS", "TUNESIEN", 355, 285, false);
//Europa
new Hafen("ODESSA", "KAISERREICH RUSSLAND", 500, 185, false);
new Hafen("TRIEST", "KAISERREICH ÖSTERREICH / KOLONIE DER MAX-GRUPPE", 385, 185, false);
new Hafen("BARCELONA", "KÖNIGREICH SPANIEN", 290, 235, false);
new Hafen("LISSABON", "KÖNIGREICH PORTUGAL", 225, 245, false);
new Hafen("LE HAVRE", "KAISERREICH FRANKREICH", 290, 145, true);
new Hafen("AMSTERDAM", "KÖNIGREICH NIEDERLANDE", 315, 125, false);
new Hafen("HAMBURG", "KÖNIGREICH HANNOVER", 335, 110, false);
new Hafen("LONDON", "KÖNIGREICH ENGLAND", 285, 115, true);
new Hafen("LIVERPOOL", "KÖNIGREICH ENGLAND", 260, 100, true);
//Asien/Australien
new Hafen("DIU", "INDIEN/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("BOMBAY", "INDIEN/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("COLOMBO", "CEYLON/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("RANGOON", "BURMA/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("MACAO", "CHINA/ENGLISCHER VERTRAGSHAFEN", 0, 0, false);
new Hafen("SHANGHAI", "CHINA/ENGLISCHER VERTRAGSHAFEN", 0, 0, false);
new Hafen("SINGAPORE", "MALAISIEN/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("MANDAO", "CELEBES/NIEDERLÄNDISCHE KOLONIE", 0, 0, false);
new Hafen("PERTH", "AUSTRALIEN/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("MELBOURNE", "AUSTRALIEN/ENGLISCHE KOLONIE", 0, 0, false);
new Hafen("SIDNEY", "AUSTRALIEN/ENGLISCHE KOLONIE", 0, 0, false);
}
}
public void setzenMeeresKnoten(int Version)
{
// Original Version
if (Version == 1)
{
new MeeresKnotenpunkt("Test GB");
new MeeresKnotenpunkt("Test Spanien");
}
}
public void setzenMeeresStraßen(int Version)
{
// Original Version
if (Version == 1)
{
// To Do: System einführen bei dem alle Straßen zu allen Jahreszeiten bekannt sind und je nach dem ob user diese bereits befahren ist,
// zeigen sie mittels farbe an ob man günstige Strömungsverhältnisse hat (schneller am Ziel)
new SeeStraße("GB - Spanien",50,50,150,150,2);
new SeeStraße("Spanien - GB",150,150,50,50,1);
}
}
public void setzenBasisEvents(int Version)
{
// Da zu Begin des Spiels die Liste leer ist können wir die aktuellen Basis Events beretis eins nach dem anderen hier einfügen
// es muss nur sicher gestellt werden, dass in jeder eventabhängigen Instanz eine EventHandler aktiv ist
// Original Version
if (Version == 1)
{
//Setzen des Startdatums
Globals.AktuellerTag_E = 1;
Globals.AktuellerTag_Z = 0;
Globals.AktuellerMonat = 1;
Globals.AktuellesJahr_E = 4;
Globals.AktuellesJahr_Z = 5;
Globals.AktuellesJahr_H = 8;
Globals.AktuellesJahr_T = 1;
Globals.AktuellesDatum = new DateTime(1854, 01, 01);
// Hinweis: Bei Laden des Startevents müssen die Häfen ihr "Initial Lager" erstellen, Beispiel -> Tunis hat zu beginn nur früchte geladen, Kein Pflanzen öl!! (das wird erst gegen März) verfügbar
Globals.EventAktion(new WeltEvent(new DateTime(1854, 1, 1), "START"),"EINFÜGEN");
//Für Jeden Spieler muss für den 1.1.1854 ein Spielerwechsel initiiert werden damit die Spieler alle am 1. Tag einmal dran kommen
for (int spielerIndex = 0; spielerIndex < Globals.SpielerListe.Count(); spielerIndex++)
{
Globals.EventAktion(new WeltEvent(new DateTime(1854, 1, 1), "SPIELERWECHSEL", Globals.SpielerListe[spielerIndex]), "EINFÜGEN");
}
//SpielEnde je nach gewählter Spieldauer
switch (Globals.Spieldauer)
{
case 5:
Globals.EventAktion(new WeltEvent(new DateTime(1859, 1, 1), "ENDE"),"EINFÜGEN");
break;
case 10:
Globals.EventAktion(new WeltEvent(new DateTime(1864, 1, 1), "ENDE"), "EINFÜGEN");
break;
case 15:
Globals.EventAktion(new WeltEvent(new DateTime(1869, 1, 1), "ENDE"), "EINFÜGEN");
break;
case 20:
Globals.EventAktion(new WeltEvent(new DateTime(1874, 1, 1), "ENDE"), "EINFÜGEN");
break;
case 26:
Globals.EventAktion( new WeltEvent(new DateTime(1880, 1, 1), "ENDE"), "EINFÜGEN");
break;
}
}
}
public void setzenWare(int Version)
{
// Original Version
if (Version == 1)
{
//ToDo: Vervollständigen aller möglichen Waren
Globals.AlleWarenTypen = new List<string>();
//Anlegen aller Originalwaren (XX Stück)
Globals.registriereWarenTyp("BAUMWOLLE");
Globals.registriereWarenTyp("EDELHOLZ");
Globals.registriereWarenTyp("ELFENBEIN");
Globals.registriereWarenTyp("FRÜCHTE");
Globals.registriereWarenTyp("GEWÜRZE");
Globals.registriereWarenTyp("KAFFEE");
Globals.registriereWarenTyp("KAKAO");
Globals.registriereWarenTyp("KAUTSCHUK");
Globals.registriereWarenTyp("KOHLE");
Globals.registriereWarenTyp("MASCHINEN");
Globals.registriereWarenTyp("PFLANZENÖL");
Globals.registriereWarenTyp("SALPETER");
Globals.registriereWarenTyp("SEIDE");
Globals.registriereWarenTyp("TABAK");
Globals.registriereWarenTyp("TEXTILIEN");
Globals.registriereWarenTyp("TEE");
Globals.registriereWarenTyp("WAFFEN");
Globals.registriereWarenTyp("WEIN");
Globals.registriereWarenTyp("WERKZEUG");
Globals.registriereWarenTyp("WOLLE");
Globals.registriereWarenTyp("ZUCKER");
}
}
public void setzeSchiffsTypen(int Version)
{
// Original Version
if (Version == 1)
{
Globals.AlleSchiffsTypen = new List<Schiff>();
//Anlegen aller möglichenSchiffstypen als Refferenz
Globals.registriereSchiffsTyp(new Schiff("SCHONERSCHABLONE","SCHONER",0));
Globals.registriereSchiffsTyp(new Schiff("BARKSCHABLONE", "BARK", 0));
Globals.registriereSchiffsTyp(new Schiff("HOLZDAMPFSCHIFFSCHABLONE", "HOLZDAMPFSCHIFF", 0));
Globals.registriereSchiffsTyp(new Schiff("EISENDAMPFSCHIFFSCHABLONE", "EISENDAMPFSCHIFF", 0));
Globals.registriereSchiffsTyp(new Schiff("BRIGGSCHABLONE", "BRIGG", 0));
Globals.registriereSchiffsTyp(new Schiff("FREGATTESCHABLONE", "FREGATTE", 0));
Globals.registriereSchiffsTyp(new Schiff("KLIPPERSCHABLONE", "KLIPPER", 0));
}
}
// To Do: Sonderpreis logik herausfinden (Wenn sehr Hoher Import von etwas ist)
public void setzePreisListeSonder(int Version)
{
if (Version == 1)
{
// Wenn richtige Werte berechnet sind muss eingefügt werden; Bis dahin kostet alles pauschal 5 Dollar
Globals.PreisListe_UnerwünschteWare.Add("BAUMWOLLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("EDELHOLZ", 500);
Globals.PreisListe_UnerwünschteWare.Add("ELFENBEIN", 500);
Globals.PreisListe_UnerwünschteWare.Add("FRÜCHTE", 500);
Globals.PreisListe_UnerwünschteWare.Add("GEWÜRZE", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAFFEE", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAKAO", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAUTSCHUK", 500);
Globals.PreisListe_UnerwünschteWare.Add("KOHLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("MASCHINEN", 500);
Globals.PreisListe_UnerwünschteWare.Add("PFLANZENÖL", 500);
Globals.PreisListe_UnerwünschteWare.Add("SALPETER", 500);
Globals.PreisListe_UnerwünschteWare.Add("SEIDE", 500);
Globals.PreisListe_UnerwünschteWare.Add("TABAK", 500);
Globals.PreisListe_UnerwünschteWare.Add("TEXTILIEN", 1850);
Globals.PreisListe_UnerwünschteWare.Add("TEE", 500);
Globals.PreisListe_UnerwünschteWare.Add("WAFFEN", 500);
Globals.PreisListe_UnerwünschteWare.Add("WEIN", 500);
Globals.PreisListe_UnerwünschteWare.Add("WERKZEUG", 8480);
Globals.PreisListe_UnerwünschteWare.Add("WOLLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("ZUCKER", 500);
}
}
public void setzePreisListeUnerwünscht(int Version)
{
//Original Version
//Anlegen aller PreiseOriginalwaren (XX Stück)
//ToDo: Mit jeder Ware in einem Hafen verkaufen gehn in dem die Ware nich gewünscht ist
if(Version == 1)
{
// Wenn richtige Werte berechnet sind muss eingefügt werden; Bis dahin kostet alles pauschal 5 Dollar
Globals.PreisListe_UnerwünschteWare.Add("BAUMWOLLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("EDELHOLZ", 500);
Globals.PreisListe_UnerwünschteWare.Add("ELFENBEIN", 500);
Globals.PreisListe_UnerwünschteWare.Add("FRÜCHTE", 500);
Globals.PreisListe_UnerwünschteWare.Add("GEWÜRZE", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAFFEE", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAKAO", 500);
Globals.PreisListe_UnerwünschteWare.Add("KAUTSCHUK", 500);
Globals.PreisListe_UnerwünschteWare.Add("KOHLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("MASCHINEN", 500);
Globals.PreisListe_UnerwünschteWare.Add("PFLANZENÖL", 500);
Globals.PreisListe_UnerwünschteWare.Add("SALPETER", 500);
Globals.PreisListe_UnerwünschteWare.Add("SEIDE", 500);
Globals.PreisListe_UnerwünschteWare.Add("TABAK", 500);
Globals.PreisListe_UnerwünschteWare.Add("TEXTILIEN", 1140);
Globals.PreisListe_UnerwünschteWare.Add("TEE", 500);
Globals.PreisListe_UnerwünschteWare.Add("WAFFEN", 500);
Globals.PreisListe_UnerwünschteWare.Add("WEIN", 500);
Globals.PreisListe_UnerwünschteWare.Add("WERKZEUG", 500);
Globals.PreisListe_UnerwünschteWare.Add("WOLLE", 500);
Globals.PreisListe_UnerwünschteWare.Add("ZUCKER", 500);
}
}
public void setzenWarenAufstockung(int Version)
{
// Original Version
if (Version == 1)
{
//Hinzufügen der AufstockSchablonen für alle Häfen und deren jeweiligen Monaten siehe Restock-Recherchen
//Amerika
//Afrika
//Europa
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR",new Ware("MASCHINEN",14520, 100,0,"KISTE"),"EXPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("TEXTILIEN", 1320, 100, 0, "KISTE"), "EXPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("BAUMWOLLE", 540, 100, 0, "KISTE"), "IMPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("TEE", 2290, 100, 0, "KISTE"), "IMPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("ELFENBEIN", 6980, 100, 0, "KISTE"), "IMPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("EDELHOLZ", 1420, 100, 0, "KISTE"), "IMPORT");
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("WEIN", 1400, 100, 0, "KISTE"), "IMPORT");
//Für Testzwecke auch Textilien Importieren (zum testen von reduziertem Preis und vollem Import Preis)
Globals.AlleHäfen["LIVERPOOL"].setzeRestockListe("JANUAR", new Ware("TEXTILIEN", 1000, 75, 0, "KISTE"), "IMPORT");
//Asien/Australien
}
}
}
}