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.

2190 lines
114 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _1869_Remake;
using _1869_Remake.Entities;
using Otter;
namespace _1869_Remake.ToolKlassen
{
public class TextBuilder : Entity
{
//Textbuilder Klasse wird in Scenen eingebunden und Verwaltet alle Texte in dieser Szene und gibt indikatoren nach außen auf abfrage
// geladene Texte und Textbäume/Listen werden über das preset und den Modus definiert
string preset;
public const float TIMER_GRENZE = 200f;
public float textTimer = 0f;
public bool resetTextTimer = false;
public bool textSprachAktiv = false;
public bool textAktiv = false;
public bool textBaumAktiv = false;
public bool tafelTextAktiv = false;
public bool textAnzeigeAktiv = false;
public bool anzeigeTextAktiv = false;
//TextBaustein identifiziert durch ID-String -> Texte können über ihre Liste und über die Text ID abgerufen werden
//User implementiert Textbuilder und kann einen Text über IDs erstellen lassen
Dictionary<string, Text> MöglicheTexte = new Dictionary<string, Text>();
//Hier werden alle Textlisten gespeichert und über einen Zweckstring gespeichert und abgerufen.
// es wird eine Liste statt texte direkt gespeichert damit wir immer die möglichkeit auf Sequenzen haben(Text folgen)
//Textpool speichert immer nur Texte der jeweiligen Szene (nicht alle vorhandenen) -> Es kann sein dass gewisse Texte in mehreren Szenen vorkommen
Dictionary<string, Dictionary<string, Text>> TextPool = new Dictionary<string, Dictionary<string, Text>>();
//Hier werden alle Textverzweigungen für die einzelnen Ebenen gespeichert (nur für Auswahltexte)
//Speichert hierarchische Abfolge von Texten -> Wenn Text A geklickt, dann Liste B an Texten anzeigen etc)
Dictionary<string, List<Text>> TextBaum = new Dictionary<string, List<Text>>();
//Tafeltexte werden als gemeinsame Liste gespeichert -> In jedem text steht seine genaue Position selbstständig drin
//Bei Listen verändernden Ereignissen (Einkauf/Verkauf) wird Funktion zum update der Listen aufgerufen
public List<Text> TafelTextListe = new List<Text>();
//AnzeigeText Liste
public List<Text> AnzeigeTextListe = new List<Text>();
//Mappen der zugehörigkeit einzelner Textstrings zu verschiedenen Modi:
// wenn string hier nicht vorhanden dann kein Sonderhandling
// Mode "Slider" -> Bei Linksklick wird Param erhöht um einen Betrag; Bei Rechtsklick vermindert
// Mode "LocationMapper" -> Bei Linksklick wird Herkunftsort gewechselt (Paramwechsler)
public Dictionary<string, string> ModeMapping = new Dictionary<string, string>();
//AuswahlText Variablen
#region AuswahlVars
public List<Text> AuswahlTextListe = new List<Text>();
public List<string> AuswahlParamter = new List<string>();
//Position der Darstellung der Liste auf dem Bildschirm
public int AuswahlXPos;
public int AuswahlYPos;
// Indikator, ob AuswahlText-Darstellung erneut gebaut werden muss
public bool auswahlAnzeigeFertig = true;
// Inhalt der 3 darzustellenden Texte
private Text aktuellerAuswahlTextOben;
private Text aktuellerAuswahlTextMitte;
private Text aktuellerAuswahlTextUnten;
// Indikator, ob einer der darzustellenden Texte farbgewechselt ist
private bool farbeObenGewechselt = false;
private bool farbeMitteGewechselt = false;
private bool farbeUntenGewechselt = false;
// Gibt an welches Element, der Liste an möglichen Auswahlen gewählt wurde
public int clickedAuswahl = 0;
// Gibt an welcher Button für die Auswahl betätigt wurde (Linke Maus oder Rechte Maus)
public string clickedButton = "";
// aktuelle Ebene im TextBaum dieser Szene
public string aktuelleEbene;
// Indikator des ersten darzustellenden Elementes aus der Liste möglicher Auswahlen
private int aktuellerTextIndex = 0;
// Indikator, ob darzustellnde Liste variabler Länge ist -> Wird bei der Anzeige aus der mitgegebenen Paramterliste zusammengebaut und mit einem abbruch text abgeschlossen
private bool VariableListe;
// PfeileIcons um darzustellenden Index zu verändern
public Image PfeilRunter = new Image(Assets.PFEILRUNTER);
public Image PfeilHoch = new Image(Assets.PFEILHOCH);
public Image PfeilRunterRot = new Image(Assets.PFEILRUNTERMARKIERT);
public Image PfeilHochRot = new Image(Assets.PFEILHOCHMARKIERT);
public bool PfeileAktiv = false;
public bool farbePfeilObenGewechselt = false;
public bool farbePfeilUntenGewechselt = false;
#endregion
//TafelText variablen
#region TafelVars
// Position der Tafel
public int TafelXPos;
public int TafelYPos;
// Indikator, ob Tafel neu zu zeichnen
public bool tafelAnzeigeFertig = true;
#endregion
//AnzeigeText Vars
#region AnzeigeTextVars
public bool textAnzeigeFertig = true;
#endregion
//SprachText Variablen
#region SprachVars
private Text aktuellerSprachText;
private bool ersterSprachFade = true;
public Queue<Text> SprachText = new Queue<Text>();
public Queue<string> SprachParameter = new Queue<string>();
public bool sprachTextZwangsEnde = false;
public bool endeEingeleitet = false;
// Indikator, ob eine Sequenz läuft
private bool sequenzEingeleitet = false;
// Geben an wie viele weitere Sprachtexte noch erzeugt werden
private int aktuellerSequenzCounter = 0;
private int anstehenderSequenzCounter = 0;
private int aktuellerParamSequenzCounter = 0;
private int anstehenderParamSequenzCounter = 0;
#endregion
private bool paramLeer = false;
public Image FadeInBlackScreen = new Image(Assets.BLACKSCREEN);
public Image FadeOutBlackScreen = new Image(Assets.BLACKSCREEN);
// Nur beim ersten FadeIn sollen die Texte gefadet werden
private bool ersterFade = true;
private bool ersterTafelFade = true;
private bool ersterAnzeigeFade = true;
public TextBuilder(string Preset)
{
this.preset = Preset;
//Setzen der Texte für jedes Preset -> Hier wird die gesamte Baumstruktur des Presets geladen
SetzeTexte();
// Pfeil Images vorab hinzufügen
PfeilHoch.Alpha = 0f;
PfeilRunter.Alpha = 0f;
PfeilHochRot.Alpha = 0f;
PfeilRunterRot.Alpha = 0f;
AddGraphic(PfeilHoch);
AddGraphic(PfeilRunter);
AddGraphic(PfeilHochRot);
AddGraphic(PfeilRunterRot);
//Vorbereiten des Blackscreens -> Entitäten brauchen auch Blackscreen Tween sonst bleibeb diese Sichtbar
FadeInBlackScreen.Alpha = 1f;
FadeInBlackScreen.X = 0;
FadeInBlackScreen.Y = 0;
FadeOutBlackScreen.Alpha = 0f;
FadeOutBlackScreen.X = 0;
FadeOutBlackScreen.Y = 0;
Tween(FadeInBlackScreen, new { Alpha = 0f }, 64f, 0f).Ease(Ease.BackInOut);
AddGraphics(FadeInBlackScreen);
}
public override void Update()
{
base.Update();
//Sprachtext Handling
#region SprachTextLogik
if (textSprachAktiv)
{
//Sprachtext Handling
// Überprüfen, ob aktuell ein Text aktiv ist, wenn nein wird auch ein getriggertes zwangsende gelöscht
if (textAktiv)
{
textTimer++;
}
else
{
//Wenn kein Sprachtext mehr aktiv und trotzdem auswahl getätigt wurde muss Zwangsende gelöscht werden -> Sonst Buffer gefahr
if (sprachTextZwangsEnde)
sprachTextZwangsEnde = false;
}
// Überprüfen, ob die Liste an gebufferten Sprachtexten noch gefüllt ist und aktuell kein Text aktiv-> Wenn wahr: neuer Text aus den gebufferten Texten wird geladen
// Wenn zwangsende verlangt werden keine weiteren texte geladen und die Liste wird vorgespult
if (SprachText.IsNotEmpty() && !textAktiv && !sprachTextZwangsEnde)
{
//Neuer Text wird geladen -> Timer neu starten und überprüfen ob zu ladender Text Parameter beherbergt und diese ersetzen durch nächsten Parameter
//(Achtung Paramter müssen immer in der richtigen Reihenfolge und vollständig sein!!!)
Text tempText = SprachText.Dequeue();
// Wenn vorher noch keine Sequenz aktiv war ist jetzt eine neue aktiv
if (!sequenzEingeleitet)
{
sequenzEingeleitet = true;
aktuellerSequenzCounter = anstehenderSequenzCounter;
aktuellerParamSequenzCounter = anstehenderParamSequenzCounter;
anstehenderSequenzCounter = 0;
anstehenderParamSequenzCounter = 0;
}
aktuellerSequenzCounter--;
//Resetten des gelieferten Textes
aktuellerSprachText = new Text("", Assets.FONT_AMIGA4EVER2, 12);
//Übernahme des anzeigeTextes Zeichen für Zeichen -> Paramterzeichen werden ersetzt durch die Texte in der Paramterqueue
for (int index = 0; index < tempText.String.Length; index++)
{
char zeichen = tempText.String[index];
if (zeichen == '#')
{
aktuellerSprachText.String += SprachParameter.Dequeue();
aktuellerParamSequenzCounter--;
}
else
{
aktuellerSprachText.String += zeichen;
}
}
//Eigenschaften des Textes übernehmen
aktuellerSprachText.Color = tempText.Color;
aktuellerSprachText.CenterTextOriginX();
aktuellerSprachText.X = tempText.X;
aktuellerSprachText.Y = tempText.Y;
aktuellerSprachText.OutlineColor = tempText.OutlineColor;
aktuellerSprachText.OutlineThickness = tempText.OutlineThickness;
if (ersterSprachFade)
{
ersterSprachFade = false;
//Erster Fade etwas länger da sonst früher da als der Scenen Fader -> sieht blöd aus
Tween(aktuellerSprachText, new { Alpha = 1f }, 160f, 0f).Ease(Ease.BackInOut);
}
else
{
Tween(aktuellerSprachText, new { Alpha = 1f }, 64f, 0f).Ease(Ease.BackInOut);
}
AddGraphic(aktuellerSprachText);
textAktiv = true;
//Timer nur resettet wenn neuer text vorhanden ist
textTimer = 0;
}
else
{
//Überprüfen, ob Ende des Sprachtextes erzwungen wurde, Wenn erzwungen wurde wird Timer nicht mehr gewertet
if (sprachTextZwangsEnde)
{
if (!endeEingeleitet)
{
if (aktuellerSprachText != null)
Tween(aktuellerSprachText, new { Alpha = 0f }, 16, 0).Ease(Ease.BackInOut);
endeEingeleitet = true;
}
if (aktuellerSprachText.Alpha <= 0.001f)
{
sequenzEingeleitet = false;
sprachTextZwangsEnde = false;
endeEingeleitet = false;
Graphics.Remove(aktuellerSprachText);
aktuellerSprachText = null;
textAktiv = false;
resetTextTimer = true;
}
// Wenn ende eingeleitet ist muss die aktuell begonnene Sequenz durchgespult werden ( Alle einträge dieser Sequenz werden aus der Liste geworfen)
while (aktuellerSequenzCounter > 0)
{
SprachText.Dequeue();
aktuellerSequenzCounter--;
}
while (aktuellerParamSequenzCounter > 0)
{
SprachParameter.Dequeue();
aktuellerParamSequenzCounter--;
}
}
else
{
if (textTimer >= TIMER_GRENZE)
{// Text wird hier wenn die Zeitabgelaufen ist aus der Liste genommen und der nächste Text wird geladen
if (!endeEingeleitet)
{
if (aktuellerSprachText != null)
Tween(aktuellerSprachText, new { Alpha = 0f }, 32, 0).Ease(Ease.BackInOut);
endeEingeleitet = true;
//Absicherung für zu schnell durch geklickte Sprachtexte
if (aktuellerSprachText == null)
{
endeEingeleitet = false;
textAktiv = false;
textTimer = 0;
}
}
if (aktuellerSprachText != null && aktuellerSprachText.Alpha <= 0.001f)
{
endeEingeleitet = false;
Graphics.Remove(aktuellerSprachText);
aktuellerSprachText = null;
textAktiv = false;
//Timer resettet
textTimer = 0;
// Wenn das der letzte text der sequenzwar dann auch sequenz deaktiv schalten
if (aktuellerSequenzCounter == 0)
{
sequenzEingeleitet = false;
}
}
}
}
}
}
#endregion
//Auswahltext Handling
#region AuswahlTextLogik
//Nur Auswahltextlogik verwenden wenn Auswahltext aktiv ist
if (textBaumAktiv)
{
//Hier wird der aktuelle Baumzweig gelesen ab dem aktuellen index (scrollbarkeit)-> wenn mehr als 3 Einträge in der Liste sind werden Scrollpfeile eingeblendet mit denen der index verändert wird
// Bei jeder veränderung im Baum wird die aktuelle liste an angezeigten Auswahltexten entfernt und durch eine neue Anzeige ab dem richtigen Baumzweig im richtigen index gezeigt
if (!auswahlAnzeigeFertig)
{
//Egal welche art von AuswahlText bei neu zeichnen wird aktueller Inhalt gelöscht
Graphics.Remove(aktuellerAuswahlTextOben);
aktuellerAuswahlTextOben = null;
Graphics.Remove(aktuellerAuswahlTextMitte);
aktuellerAuswahlTextMitte = null;
Graphics.Remove(aktuellerAuswahlTextUnten);
aktuellerAuswahlTextUnten = null;
PfeileAktiv = false;
AuswahlTextListe.Clear();
// Indikator, ob es weniger als 3 Texte oder mehr als 3 gibt (Beides hat andere effekte auf die Anzeige und Komposition der Texte)
int TextZähler = 0;
List<Text> tempAuswahlListe = new List<Text>(TextBaum[aktuelleEbene]);
//Unterscheidung von regulärem Auswahlzweig oder variabler Auswahlliste
if (VariableListe)
{
//Füllen einer temporären Liste zum Bauen der finalen Auswahlliste
//Zusammenbauen der AuswahlListe
//Bei variabler Liste immer zuerst die Paramter
foreach (string item in AuswahlParamter)
{
Text TempText = new Text(item, Assets.FONT_AMIGA4EVER2, 12);
AuswahlTextListe.Add(TempText);
TextZähler++;
}
//gefolgt von Abbruchtext bauen (bei diesem Typ gibt es immer nur noch den Abbruchtext in der regulären Baumstruktur)
AuswahlTextListe.Add(new Text(tempAuswahlListe.Last().String, Assets.FONT_AMIGA4EVER2, 12));
TextZähler++;
//Wenn Paramleer gesetzt wird muss ein Abschlusstext erfolgen (Ende der Liste wurde vor unterer Position erreicht)
paramLeer = false;
//Indexer welcher Text als letztes gefüllt wurde
// 1 = Oben
// 2 = Mitte
// 3 = unten
int TexteEingebaut;
//Füllen der darzustellenden 3 Elemente mit den Texten aus der AuswahlListe
for (TexteEingebaut = 1; TexteEingebaut < 4 && TexteEingebaut + aktuellerTextIndex < TextZähler; TexteEingebaut++)
{
switch (TexteEingebaut)
{
case 1:
aktuellerAuswahlTextOben = new Text(AuswahlTextListe[aktuellerTextIndex].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextOben.X = AuswahlXPos + 35;
aktuellerAuswahlTextOben.Y = AuswahlYPos + 0;
aktuellerAuswahlTextOben.Color = Globals.StdGrün;
break;
case 2:
aktuellerAuswahlTextMitte = new Text(AuswahlTextListe[aktuellerTextIndex + 1].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextMitte.X = AuswahlXPos + 35;
aktuellerAuswahlTextMitte.Y = AuswahlYPos + 24;
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
break;
case 3:
aktuellerAuswahlTextUnten = new Text(AuswahlTextListe[aktuellerTextIndex + 2].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextUnten.X = AuswahlXPos + 35;
aktuellerAuswahlTextUnten.Y = AuswahlYPos + 48;
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
break;
}
// Überprüfen ob Ende der Paramterliste erreicht ist, Wenn ja dann muss an die aktuelle TextEingebaut position der Schlusstext angehängt werden
if (TexteEingebaut + aktuellerTextIndex == TextZähler - 1)
{
paramLeer = true;
}
}
//Wenn frühzeitiges ListenEnde -> TextEingebaut sagt uns welcher Text den Abschlusstext erhält
if (paramLeer)
{
switch (TexteEingebaut)
{
case 2:
aktuellerAuswahlTextMitte = new Text(AuswahlTextListe[AuswahlTextListe.Count() - 1].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextMitte.X = AuswahlXPos + 35;
aktuellerAuswahlTextMitte.Y = AuswahlYPos + 24;
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
break;
case 3:
aktuellerAuswahlTextUnten = new Text(AuswahlTextListe[AuswahlTextListe.Count() - 1].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextUnten.X = AuswahlXPos + 35;
aktuellerAuswahlTextUnten.Y = AuswahlYPos + 48;
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
break;
}
paramLeer = false;
}
//Überprüfen: Wenn mehr als 3 Auswahlmöglichkeiten vorhanden ist müssen Pfeile angezeigt werden
if (AuswahlTextListe.Count() > 3)
{
PfeileAktiv = true;
if (aktuellerTextIndex == 0)
{
PfeilHoch.Alpha = 0f;
}
else
{
PfeilHoch.Alpha = 1f;
}
PfeilHoch.X = AuswahlXPos - 20;
PfeilHoch.Y = AuswahlYPos;
if (aktuellerTextIndex + 3 == AuswahlTextListe.Count())
{
PfeilRunter.Alpha = 0f;
}
else
{
PfeilRunter.Alpha = 1f;
}
PfeilRunter.X = AuswahlXPos - 20;
PfeilRunter.Y = AuswahlYPos + 35;
PfeilHochRot.Alpha = 0f;
PfeilHochRot.X = AuswahlXPos - 20;
PfeilHochRot.Y = AuswahlYPos;
PfeilRunterRot.Alpha = 0f;
PfeilRunterRot.X = AuswahlXPos - 20;
PfeilRunterRot.Y = AuswahlYPos + 35;
}
else
{
PfeilHoch.Alpha = 0f;
PfeilRunter.Alpha = 0f;
PfeilHochRot.Alpha = 0f;
PfeilRunterRot.Alpha = 0f;
}
if (ersterFade)
{
aktuellerAuswahlTextOben.Alpha = 0f;
Tween(aktuellerAuswahlTextOben, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
aktuellerAuswahlTextMitte.Alpha = 0f;
Tween(aktuellerAuswahlTextMitte, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
if (aktuellerAuswahlTextUnten != null)
{
aktuellerAuswahlTextUnten.Alpha = 0f;
Tween(aktuellerAuswahlTextUnten, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
if (PfeileAktiv)
{
if (aktuellerTextIndex != 0)
{
PfeilHoch.Alpha = 0f;
Tween(PfeilHoch, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
if (aktuellerTextIndex + 3 != AuswahlTextListe.Count())
{
PfeilRunter.Alpha = 0f;
Tween(PfeilRunter, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
}
ersterFade = false;
}
AddGraphic(aktuellerAuswahlTextOben);
AddGraphic(aktuellerAuswahlTextMitte);
if (aktuellerAuswahlTextUnten != null)
{
AddGraphic(aktuellerAuswahlTextUnten);
}
auswahlAnzeigeFertig = true;
}
else
{
int ParamCounter = 0;
Text tempText;
//Zusammenbauen der AuswahlListe
//Hier wird jeder Text bereits so eingetragen, dass die Textersetzung durch Parameter abgeschlossen wurde
//Durchlauf aller Texte für diesen Baumstrang
foreach (Text ListenText in tempAuswahlListe)
{
string tempString = "";
//Ersetzen der paramter "#" des aktuellen Text
tempText = new Text(ListenText.String, Assets.FONT_AMIGA4EVER2, 12);
for (int index = 0; index < tempText.String.Length; index++)
{
char zeichen = tempText.String[index];
if (zeichen == '#')
{
try
{
tempString += AuswahlParamter[ParamCounter++];
}
catch
{
//Wenn ersetzen fehlschlägt weil zu wenige Paramter übergeben wurden -> Ersetzen es Paramter mit einem "?"
tempString += "?";
}
}
else
{
tempString += zeichen;
}
}
AuswahlTextListe.Add(new Text(tempString, Assets.FONT_AMIGA4EVER2, 12));
TextZähler++;
}
//Indexer welcher Text als letztes gefüllt wurde
// 1 = Oben
// 2 = Mitte
// 3 = unten
int TexteEingebaut;
//Füllen der darzustellenden 3 Elemente mit den Texten aus der AuswahlListe
for (TexteEingebaut = 1; TexteEingebaut < 4 && TexteEingebaut + aktuellerTextIndex <= TextZähler; TexteEingebaut++)
{
switch (TexteEingebaut)
{
case 1:
aktuellerAuswahlTextOben = new Text(AuswahlTextListe[aktuellerTextIndex].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextOben.X = AuswahlXPos + 35;
aktuellerAuswahlTextOben.Y = AuswahlYPos + 0;
aktuellerAuswahlTextOben.Color = Globals.StdGrün;
break;
case 2:
aktuellerAuswahlTextMitte = new Text(AuswahlTextListe[aktuellerTextIndex + 1].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextMitte.X = AuswahlXPos + 35;
aktuellerAuswahlTextMitte.Y = AuswahlYPos + 24;
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
break;
case 3:
aktuellerAuswahlTextUnten = new Text(AuswahlTextListe[aktuellerTextIndex + 2].String, Assets.FONT_AMIGA4EVER2, 12);
aktuellerAuswahlTextUnten.X = AuswahlXPos + 35;
aktuellerAuswahlTextUnten.Y = AuswahlYPos + 48;
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
break;
}
}
if (AuswahlTextListe.Count() > 3)
{
PfeileAktiv = true;
if (aktuellerTextIndex == 0)
{
PfeilHoch.Alpha = 0f;
}
else
{
PfeilHoch.Alpha = 1f;
}
PfeilHoch.X = AuswahlXPos - 20;
PfeilHoch.Y = AuswahlYPos;
if (aktuellerTextIndex + 3 == AuswahlTextListe.Count())
{
PfeilRunter.Alpha = 0f;
}
else
{
PfeilRunter.Alpha = 1f;
}
PfeilRunter.X = AuswahlXPos - 20;
PfeilRunter.Y = AuswahlYPos + 35;
PfeilHochRot.Alpha = 0f;
PfeilHochRot.X = AuswahlXPos - 20;
PfeilHochRot.Y = AuswahlYPos;
PfeilRunterRot.Alpha = 0f;
PfeilRunterRot.X = AuswahlXPos - 20;
PfeilRunterRot.Y = AuswahlYPos + 35;
}
else
{
PfeilHoch.Alpha = 0f;
PfeilRunter.Alpha = 0f;
PfeilHochRot.Alpha = 0f;
PfeilRunterRot.Alpha = 0f;
}
if (ersterFade)
{
aktuellerAuswahlTextOben.Alpha = 0f;
Tween(aktuellerAuswahlTextOben, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
aktuellerAuswahlTextMitte.Alpha = 0f;
Tween(aktuellerAuswahlTextMitte, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
if (aktuellerAuswahlTextUnten != null)
{
aktuellerAuswahlTextUnten.Alpha = 0f;
Tween(aktuellerAuswahlTextUnten, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
if (PfeileAktiv)
{
if (aktuellerTextIndex != 0)
{
PfeilHoch.Alpha = 0f;
Tween(PfeilHoch, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
if (aktuellerTextIndex + 3 != AuswahlTextListe.Count())
{
PfeilRunter.Alpha = 0f;
Tween(PfeilRunter, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
}
ersterFade = false;
}
AddGraphic(aktuellerAuswahlTextOben);
AddGraphic(aktuellerAuswahlTextMitte);
if (aktuellerAuswahlTextUnten != null)
{
AddGraphic(aktuellerAuswahlTextUnten);
}
auswahlAnzeigeFertig = true;
}
}
//Auswahl Hover und ClickLogik
//Oberer Text
if (Util.InRect(this.Scene.MouseX, this.Scene.MouseY, 35, 410, 600, 14) && aktuellerAuswahlTextOben != null)
{
if (Globals.PlayerSession.Controller.Button("MausLinks").Down || Globals.PlayerSession.Controller.Button("MausRechts").Down)
{
if (!farbeObenGewechselt)
{
aktuellerAuswahlTextOben.Color = Globals.HighLightMagenta;
farbeObenGewechselt = true;
}
}
// Absicherung, falls user beide Mausbuttons gleichzeitig drückt -> Links hat priorität
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
{
int tempPos = 1 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 1 + aktuellerTextIndex;
clickedButton = "MausLinks";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeObenGewechselt)
{
aktuellerAuswahlTextOben.Color = Globals.StdGrün;
farbeObenGewechselt = false;
}
}
else
{
if (Globals.PlayerSession.Controller.Button("MausRechts").Released)
{
int tempPos = 1 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 1 + aktuellerTextIndex;
clickedButton = "MausRechts";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeObenGewechselt)
{
aktuellerAuswahlTextOben.Color = Globals.StdGrün;
farbeObenGewechselt = false;
}
}
}
}
else
{
//zurückwechseln der Farbe zu Grün wenn Taste Released oder Textfeld verlassen
if (farbeObenGewechselt)
{
aktuellerAuswahlTextOben.Color = Globals.StdGrün;
farbeObenGewechselt = false;
}
}
//Mittlerer Text
if (Util.InRect(this.Scene.MouseX, this.Scene.MouseY, 35, 434, 600, 14) && aktuellerAuswahlTextMitte != null)
{
if (Globals.PlayerSession.Controller.Button("MausLinks").Down || Globals.PlayerSession.Controller.Button("MausRechts").Down)
{
if (!farbeMitteGewechselt)
{
aktuellerAuswahlTextMitte.Color = Globals.HighLightMagenta;
farbeMitteGewechselt = true;
}
}
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
{
int tempPos = 2 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 2 + aktuellerTextIndex;
clickedButton = "MausLinks";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeMitteGewechselt)
{
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
farbeMitteGewechselt = false;
}
}
else
{
if (Globals.PlayerSession.Controller.Button("MausRechts").Released)
{
int tempPos = 2 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 2 + aktuellerTextIndex;
clickedButton = "MausRechts";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeMitteGewechselt)
{
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
farbeMitteGewechselt = false;
}
}
}
}
else
{
//zurückwechseln der Farbe zu Grün wenn Taste Released oder Textfeld verlassen
if (farbeMitteGewechselt)
{
aktuellerAuswahlTextMitte.Color = Globals.StdGrün;
farbeMitteGewechselt = false;
}
}
//unterer Text
if (Util.InRect(this.Scene.MouseX, this.Scene.MouseY, 35, 458, 600, 14) && aktuellerAuswahlTextUnten != null)
{
if (Globals.PlayerSession.Controller.Button("MausLinks").Down || Globals.PlayerSession.Controller.Button("MausRechts").Down)
{
if (!farbeUntenGewechselt)
{
aktuellerAuswahlTextUnten.Color = Globals.HighLightMagenta;
farbeUntenGewechselt = true;
}
}
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
{
int tempPos = 3 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 3 + aktuellerTextIndex;
clickedButton = "MausLinks";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeUntenGewechselt)
{
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
farbeUntenGewechselt = false;
}
}
else
{
if (Globals.PlayerSession.Controller.Button("MausRechts").Released)
{
int tempPos = 3 + aktuellerTextIndex;
Console.WriteLine("Auswahl " + tempPos + " ist gedrückt!");
clickedAuswahl = 3 + aktuellerTextIndex;
clickedButton = "MausRechts";
sprachTextZwangsEnde = true;
//zurückwechseln der Farbe zu Grün
if (farbeUntenGewechselt)
{
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
farbeUntenGewechselt = false;
}
}
}
}
else
{
//zurückwechseln der Farbe zu Grün wenn Taste Released oder Textfeld verlassen
if (farbeUntenGewechselt)
{
aktuellerAuswahlTextUnten.Color = Globals.StdGrün;
farbeUntenGewechselt = false;
}
}
}
// Pfeil Oben
if (Util.InRect(this.Scene.MouseX, this.Scene.MouseY, 5, 410, 30, 30) && PfeileAktiv && aktuellerTextIndex != 0)
{
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
{
if (!farbePfeilObenGewechselt)
{
//Pfeil gewechselt Icon (Rot)
PfeilHoch.Alpha = 0f;
PfeilHochRot.Alpha = 1f;
farbePfeilObenGewechselt = true;
}
}
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
{
// wenn Index bereits am Anfang der Liste kein Pfeil nach oben möglich
if (aktuellerTextIndex != 0)
{
aktuellerTextIndex--;
auswahlAnzeigeFertig = false;
}
Console.WriteLine("Pfeil Oben ist gedrückt!");
//zurückwechseln der Farbe zu Grün
if (farbePfeilObenGewechselt)
{
PfeilHoch.Alpha = 1f;
PfeilHochRot.Alpha = 0f;
farbePfeilObenGewechselt = false;
}
}
}
else
{
//zurückwechseln der Farbe zu Grün wenn Taste Released oder Textfeld verlassen
if (farbePfeilObenGewechselt)
{
PfeilHoch.Alpha = 1f;
PfeilHochRot.Alpha = 0f;
farbePfeilObenGewechselt = false;
}
}
// Pfeil Unten
if (Util.InRect(this.Scene.MouseX, this.Scene.MouseY, 5, 445, 30, 30) && PfeileAktiv && aktuellerTextIndex + 3 != AuswahlTextListe.Count())
{
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
{
if (!farbePfeilUntenGewechselt)
{
//Pfeil gewechselt Icon (Rot)
PfeilRunter.Alpha = 0f;
PfeilRunterRot.Alpha = 1f;
farbePfeilUntenGewechselt = true;
}
}
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
{
// wenn Index bereits am Anfang der Liste kein Pfeil nach oben möglich
if (aktuellerTextIndex + 2 < AuswahlTextListe.Count() - 1)
{
aktuellerTextIndex++;
auswahlAnzeigeFertig = false;
}
Console.WriteLine("Pfeil Unten ist gedrückt!");
//zurückwechseln der Farbe zu Grün
if (farbePfeilUntenGewechselt)
{
PfeilRunter.Alpha = 1f;
PfeilRunterRot.Alpha = 0f;
farbePfeilUntenGewechselt = false;
}
}
}
else
{
//zurückwechseln der Farbe zu Grün wenn Taste Released oder Textfeld verlassen
if (farbePfeilUntenGewechselt)
{
PfeilRunter.Alpha = 1f;
PfeilRunterRot.Alpha = 0f;
farbePfeilUntenGewechselt = false;
}
}
#endregion
//Tafeltext Handling
#region TafelTextLogik
if (tafelTextAktiv)
{
//Wenn tafelAnzeige false ist muss die Tafel neu gezeichnet werden
if (!tafelAnzeigeFertig)
{
foreach (Text ListenText in TafelTextListe)
{
if (ersterTafelFade)
{
ListenText.Alpha = 0f;
Tween(ListenText, new { Alpha = 1f }, 180f, 0f).Ease(Ease.BackInOut);
}
else
{
ListenText.Alpha = 1f;
}
AddGraphics(ListenText);
}
ersterTafelFade = false;
tafelAnzeigeFertig = true;
}
}
#endregion
#region AnzeigeText Logik
// Wenn AnzeigeTexte aktiv ist müssen alle Zeilen mit ihren eigenen Positionen neu gezeichnet werden
if (anzeigeTextAktiv)
{
if (!textAnzeigeFertig)
{
foreach (Text ListenText in AnzeigeTextListe)
{
ListenText.Alpha = 1f;
AddGraphics(ListenText);
}
textAnzeigeFertig = true;
}
}
#endregion
}
private void SetzeTexte()
{
//Je nach Preset werden andere Texte geladen
Text TempText;
// Hinzufügen der Texte zum Pool sowie einer Liste bei Auswahltexten oder Sequenziellen Texten
List<Text> TempListe = new List<Text>();
switch (preset)
{
//Hier werden alle Texte geladen und vorbereitet
//Notiz # im Text ist ein Hinweis dass hier ein Paramter hingehört
//ToDo Baumäste komplettieren
case "Handel":
//Alle Texte eines TextTyps sammeln
#region Handel-Sprachtexte
//Sprachtexte
TempText = new Text(Globals.HANDEL_BEGRÜßUNG_LIVERPOOL.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_BEGRÜßUNG_LIVERPOOL.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Begrüßung LIVERPOOL", TempText);
TempText = new Text(Globals.HANDEL_BEGRÜßUNG_LONDON.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_BEGRÜßUNG_LONDON.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Begrüßung LONDON", TempText);
TempText = new Text(Globals.HANDEL_WÄHLEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_WÄHLEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Wählen_EINKAUF", TempText);
TempText = new Text(Globals.HANDEL_WÄHLEN_ZIEL.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_WÄHLEN_ZIEL.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Wählen_ZIEL", TempText);
TempText = new Text(Globals.HANDEL_HELFEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_HELFEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Helfen", TempText);
TempText = new Text(Globals.HANDEL_AUSVERKAUFT.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_AUSVERKAUFT.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Ausverkauft", TempText);
TempText = new Text(Globals.HANDEL_WARENLOS.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_WARENLOS.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Warenlos", TempText);
TempText = new Text(Globals.HANDEL_GELDLOS.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_GELDLOS.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Geldlos", TempText);
TempText = new Text(Globals.HANDEL_GELDLOS2.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_GELDLOS2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Geldlos2", TempText);
TempText = new Text(Globals.HANDEL_GELDLOS3.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_GELDLOS3.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Geldlos3", TempText);
TempText = new Text(Globals.HANDEL_VERKAUFSQUELLE.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_VERKAUFSQUELLE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("HANDEL_VERKAUFSQUELLE", TempText);
TempText = new Text(Globals.BUDGETREICHTNICHT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETREICHTNICHT.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("BudgetReichtNicht", TempText);
TempText = new Text(Globals.KOSTEN.String, Assets.FONT_AMIGA4EVER2, Globals.KOSTEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Kosten", TempText);
TempText = new Text(Globals.HANDEL_ERLÄUTERUNG1.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_ERLÄUTERUNG1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Erläuterung1", TempText);
TempText = new Text(Globals.HANDEL_ERLÄUTERUNG2.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_ERLÄUTERUNG2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Erläuterung2", TempText);
TempText = new Text(Globals.KEINEKOSTEN.String, Assets.FONT_AMIGA4EVER2, Globals.KEINEKOSTEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("KeineKosten", TempText);
TempText = new Text(Globals.HANDEL_RESTPOSTEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_RESTPOSTEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Restposten1", TempText);
TempText = new Text(Globals.HANDEL_RESTPOSTEN2.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_RESTPOSTEN2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Restposten2", TempText);
TempText = new Text(Globals.HANDEL_WARENWAHL.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_WARENWAHL.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Warenwahl_QuellLager", TempText);
//Nach Sammeln als Überbegriff speichern sodass wir nach z.B. Begrüßungstext 1 in Sprachtexten suchen und ausgeben können
TextPool.Add("SprachTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
#region Handel-Tafeltexte
//TafelTexte
TempText = new Text(Globals.HANDEL_ANGEBOT.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_ANGEBOT.FontSize);
TempText.Color = Globals.TafelGrau;
MöglicheTexte.Add("AngebotTafel", TempText);
TempText = new Text(Globals.HANDEL_NACHFRAGE.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_NACHFRAGE.FontSize);
TempText.Color = Globals.TafelGrau;
MöglicheTexte.Add("NachfrageTafel", TempText);
TextPool.Add("TafelTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
#region Handel-Auswahltexte
//Auswahltexte
//Seite 1
TempText = new Text(Globals.HANDEL_KAUFEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_KAUFEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Kaufen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.HANDEL_VERKAUFEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_VERKAUFEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Verkaufen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABSCHIED.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABSCHIED.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abschied", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1A (Vorauswahl Bäume -> A = Auswahl Exportware)
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abbruch_Ware", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1B (Vorauswahl Bäume -> B = Auswahl ZielLagerort)
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abbruch_Ziel", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1B", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1.1 (Auswahl von Menge & Bezahlung -> B = Auswahl ZielLagerort)
TempText = new Text(Globals.HANDEL_PREIS_PRO_MENGE_EINKAUF.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_PREIS_PRO_MENGE_EINKAUF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("PreisProMenge_EINKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.HANDEL_ABSCHLUSS_EINKAUF.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_ABSCHLUSS_EINKAUF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abschluss_EINKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Budget_EINKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abbruch_Handel_EINKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1.1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2A (Auswahl von Quellagerort Bezahlung -> A = Auswahl QuellLagerort)
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abbruch_QuellLager", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2B (Vorauswahl Bäume -> B = Auswahl Ware aus dem QuellLagerort)
TempText = new Text(Globals.HANDEL_WARENQUELLE_WECHSEL.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_WARENQUELLE_WECHSEL.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Wechsel WarenQuelle", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2B", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2.1 (Auswahl von Menge & Bezahlung)
TempText = new Text(Globals.HANDEL_PREIS_PRO_MENGE_VERKAUF.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_PREIS_PRO_MENGE_VERKAUF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("PreisProMenge_VERKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.HANDEL_ABSCHLUSS_VERKAUF.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_ABSCHLUSS_VERKAUF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abschluss_VERKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Budget_VERKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abbruch_Handel_VERKAUF", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2.1", new List<Text>(TempListe));
TempListe.Clear();
TextPool.Add("AuswahlTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
break;
case "Bank":
#region Bank-Sprachtexte
//Sprachtexte
TempText = new Text(Globals.BEGRÜßUNG_DECOY.String, Assets.FONT_AMIGA4EVER2, Globals.BEGRÜßUNG_DECOY.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Begrüßung_Decoy", TempText);
TempText = new Text(Globals.HANDEL_HELFEN.String, Assets.FONT_AMIGA4EVER2, Globals.HANDEL_HELFEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Helfen", TempText);
TextPool.Add("SprachTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
#region Bank-Auswahltexte
//Auswahltexte
//Seite 1
TempText = new Text(Globals.BANKTEXT1_A.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT1_A.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditKaufen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BANKTEXT1_B.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT1_B.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditBezahlen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABSCHIED.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABSCHIED.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abschied", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1 -> Wenn Kaufen aktiviert wurde
TempText = new Text(Globals.BANKTEXT11_A.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT11_A.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditBenötigt", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
ModeMapping.Add("KreditBenötigt", "Slider");
TempText = new Text(Globals.BANKTEXT11_B.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT11_B.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditKaufenAnnehmen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditKaufenBudget", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
ModeMapping.Add("KreditKaufenBudget", "LocationMapper");
TempText = new Text(Globals.BANKTEXT11_D.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT11_D.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditKaufenAbbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2 -> Wenn zurück Zahlen aktiviert wurde
TempText = new Text(Globals.BANKTEXT12_A.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT12_A.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditRückzahlen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
ModeMapping.Add("KreditRückzahlen", "Slider");
TempText = new Text(Globals.BANKTEXT12_B.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT12_B.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditBezahlenAnnehmen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditBezahlenBudget", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
ModeMapping.Add("KreditBezahlenudget", "LocationMapper");
TempText = new Text(Globals.BANKTEXT12_D.String, Assets.FONT_AMIGA4EVER2, Globals.BANKTEXT12_D.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("KreditBezahlenAbbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2", new List<Text>(TempListe));
TempListe.Clear();
TextPool.Add("AuswahlTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
break;
case "Werft":
#region Werft-Sprachtexte
//Sprachtexte
TempText = new Text(Globals.BEGRÜßUNG_DECOY.String, Assets.FONT_AMIGA4EVER2, Globals.BEGRÜßUNG_DECOY.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Begrüßung_Decoy", TempText);
TempText = new Text(Globals.WERFT_HELFEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_HELFEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Helfen", TempText);
TempText = new Text(Globals.DEMOTEXT_KEINEREPARATUR.String, Assets.FONT_AMIGA4EVER2, Globals.DEMOTEXT_KEINEREPARATUR.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Demo_KeineReparatur", TempText);
TempText = new Text(Globals.WELCHESSCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WELCHESSCHIFF.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_Welches", TempText);
TempText = new Text(Globals.WERFT_BAUEN_ABSCHLUSS1.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ABSCHLUSS1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_Abschluss1", TempText);
TempText = new Text(Globals.WERFT_BAUEN_ABSCHLUSS2.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ABSCHLUSS2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_Abschluss2", TempText);
TempText = new Text(Globals.WERFT_BAUEN_GELDMANGEL.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_GELDMANGEL.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_KEINGELD", TempText);
TempText = new Text(Globals.WERFT_BAUEN_ANZAHLUNG1.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ANZAHLUNG1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_ANZAHLUNG1", TempText);
TempText = new Text(Globals.WERFT_BAUEN_ANZAHLUNG2.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ANZAHLUNG2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_ANZAHLUNG2", TempText);
TempText = new Text(Globals.WERFT_BEZAHLEN_KEINESCHULDEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BEZAHLEN_KEINESCHULDEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_KEINESCHULDEN", TempText);
TempText = new Text(Globals.WERFT_GEBRAUCHT_KEINESCHIFFE.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_GEBRAUCHT_KEINESCHIFFE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Gebraucht_KEINESCHIFFE", TempText);
TempText = new Text(Globals.WERFT_BAU_KEINPLATZ1.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAU_KEINPLATZ1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("BAU_KEINPLATZ1", TempText);
TempText = new Text(Globals.WERFT_BAU_KEINPLATZ2.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAU_KEINPLATZ2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("BAU_KEINPLATZ2", TempText);
TempText = new Text(Globals.WERFT_VERKAUF_WELCHESSCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_WELCHESSCHIFF.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Verkauf_WelchesSchiff", TempText);
TempText = new Text(Globals.WERFT_VERKAUF_KEINESCHIFF1.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_KEINESCHIFF1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Verkauf_KeinSchiff1", TempText);
TempText = new Text(Globals.WERFT_VERKAUF_KEINESCHIFF2.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_KEINESCHIFF2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Verkauf_KeinSchiff2", TempText);
TempText = new Text(Globals.WERFT_VERKAUF_ANGEBOT.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_ANGEBOT.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Verkauf_Angebot", TempText);
TempText = new Text(Globals.WERFT_VERKAUF_ABSCHLUSS.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_ABSCHLUSS.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Verkauf_Abschluss", TempText);
TempText = new Text(Globals.RESTBETRAG.String, Assets.FONT_AMIGA4EVER2, Globals.RESTBETRAG.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_Restbetrag", TempText);
TempText = new Text(Globals.KEINRESTBETRAG.String, Assets.FONT_AMIGA4EVER2, Globals.KEINRESTBETRAG.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_KeinRestbetrag", TempText);
TempText = new Text(Globals.KEINZAHLBETRAG.String, Assets.FONT_AMIGA4EVER2, Globals.KEINZAHLBETRAG.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_KeinZahlbetrag", TempText);
TempText = new Text(Globals.DANKEZUFRIEDEN.String, Assets.FONT_AMIGA4EVER2, Globals.DANKEZUFRIEDEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_Zufrieden", TempText);
TempText = new Text(Globals.BESTENDANK.String, Assets.FONT_AMIGA4EVER2, Globals.BESTENDANK.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_BestenDank", TempText);
TempText = new Text(Globals.WERFT_BEZAHLEN_ALLEBEZAHLT.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BEZAHLEN_ALLEBEZAHLT.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_AlleBezahlt", TempText);
TempText = new Text(Globals.WERFT_BEZAHLEN_XBEZAHLT.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BEZAHLEN_XBEZAHLT.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_XBezahlt", TempText);
TempText = new Text(Globals.WERFT_BEZAHLEN_KEINESCHIFFE.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BEZAHLEN_KEINESCHIFFE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bezahlen_KeineSchiffe", TempText);
TextPool.Add("SprachTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
#region Werft-Auswahltexte
//Auswahltexte
//Seite 1 - Root
TempText = new Text(Globals.WERFT_REPERATUR.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPERATUR.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("WerftReparatur", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_SCHIFFBAUEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_SCHIFFBAUEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("WerftBauen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABSCHIED.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABSCHIED.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Abschied", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_SCHIFFGEBRAUCHT.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_SCHIFFGEBRAUCHT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("WerftGebraucht", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_SCHIFFVERKAUFEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_SCHIFFVERKAUFEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("WerftVerkaufen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_SCHIFFBEZAHLEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_SCHIFFBEZAHLEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("WerftBezahlen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1 Reparaturauswahl (In der Demo inaktiv jedoch sind die Auswahl möglichkeiten schon sichtbar)
TempText = new Text(Globals.WERFT_REPARATUR_MUSCHELN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPARATUR_MUSCHELN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Rep_Muscheln", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_REPARATUR_RUMPF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPARATUR_RUMPF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Rep_Rumpf", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_REPARATUR_ABSCHIED.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPARATUR_ABSCHIED.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Rep_Abschied", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_REPARATUR_ANTRIEB.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPARATUR_ANTRIEB.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Rep_Antrieb", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_REPARATUR_ALLES.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_REPARATUR_ALLES.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Rep_Alles", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2 Schiff Bauen
TempText = new Text(Globals.WERFT_BAUEN_NÄCHSTES_SCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_NÄCHSTES_SCHIFF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_NächstesSchiff", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_LETZTES_SCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_LETZTES_SCHIFF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_LetztesSchiff", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_BESTÄTIGEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_BESTÄTIGEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_SchiffBauen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_BauenAbbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2.3A Schiffbau Namenseingabe
TempText = new Text(Globals.WERFT_BAUEN_NAME_HINWEIS1.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_NAME_HINWEIS1.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Name_Hinweis1", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_NAME_HINWEIS2.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_NAME_HINWEIS2.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Name_Hinweis2", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_NAME_HINWEIS3.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_NAME_HINWEIS3.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Name_Hinweis3", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2.3A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2.3B Schiffbau bestätigen
TempText = new Text(Globals.WERFT_BAUEN_BESTÄTIGUNG_PREIS.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_BESTÄTIGUNG_PREIS.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bestätigung_Preis", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_BESTÄTIGUNG_BESTELLUNG.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_BESTÄTIGUNG_BESTELLUNG.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_BauBestätigen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_BESTÄTIGUNG_GELDQUELLE.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_BESTÄTIGUNG_GELDQUELLE.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bau_Geldquelle", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_BESTÄTIGUNG_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_BESTÄTIGUNG_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bestätigen_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.2.3B", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.4 Anzeige gebrauchter Schiffe
TempText = new Text(Globals.WERFT_GEBRAUCHT_NÄCHSTES_SCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_GEBRAUCHT_NÄCHSTES_SCHIFF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Gebraucht_NächstesSchiff", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_LETZTES_SCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_LETZTES_SCHIFF.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Gebraucht_LetztesSchiff", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Gebraucht_Budget", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_GEBRAUCHT_BESTÄTIGEN.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_GEBRAUCHT_BESTÄTIGEN.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Gebraucht_Bestätigen", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_BAUEN_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_BAUEN_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Gebraucht_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.4", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.5A Verkauf eines Schiffs -Schiffswahl
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Verkauf_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.5A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.5B Verkauf eines Schiffs - Bestätigung
TempText = new Text(Globals.WERFT_VERKAUF_PREIS.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_PREIS.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Verkauf_Preis", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.WERFT_VERKAUF_BESTÄTIGUNG.String, Assets.FONT_AMIGA4EVER2, Globals.WERFT_VERKAUF_BESTÄTIGUNG.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Verkauf_Bestätigung", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Verkauf_Abbruch2", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.5B", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.6A Abbezahlen eines Schiffs -Schiffswahl
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Schiffwahl_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.6A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.6B Abbezahlen eines Schiffs - Bezahlvorgang
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bezahlen_Geldquelle", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.ZAHLMENGE.String, Assets.FONT_AMIGA4EVER2, Globals.ZAHLMENGE.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bezahlen_Geldbetrag", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.ZAHLENFÜR.String, Assets.FONT_AMIGA4EVER2, Globals.ZAHLENFÜR.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bezahlen_Bestätigung", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABBRUCH2.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH2.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Werft_Bezahlen_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.6B", new List<Text>(TempListe));
TempListe.Clear();
TextPool.Add("AuswahlTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
break;
case "Bar":
#region Bar-Sprachtexte
//Sprachtexte
TempText = new Text(Globals.BAR_FILIALEVORHANDEN.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_FILIALEVORHANDEN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_FilialeVorhanden", TempText);
TempText = new Text(Globals.BAR_KEINE2SCHIFFE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_KEINE2SCHIFFE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Keine2Schiffe", TempText);
TempText = new Text(Globals.BAR_KEINESCHIFFE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_KEINESCHIFFE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_KeineSchiffe", TempText);
TempText = new Text(Globals.BAR_WELCHESSCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_WELCHESSCHIFF.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_WelchesSchiff", TempText);
TempText = new Text(Globals.BAR_GUTESSCHIFF.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_GUTESSCHIFF.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_GutesSchiff", TempText);
TempText = new Text(Globals.BAR_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_ABBRUCH.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Abbruch", TempText);
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_PREIS.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_PREIS.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Mannschaftswahl_Preis", TempText);
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_WELCHELEUTE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_WELCHELEUTE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Mannschaftswahl_WelcheLeute", TempText);
TempText = new Text(Globals.BAR_MANNSCHAFTWAHL_ANHEUERN.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTWAHL_ANHEUERN.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Mannschaftswahl_Anheuern", TempText);
TempText = new Text(Globals.BAR_MANNSCHAFTWAHL_GENUGLEUTE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTWAHL_GENUGLEUTE.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Mannschaftswahl_GenugLeute", TempText);
TempText = new Text(Globals.BAR_HINWEIS_KEIN1.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_HINWEIS_KEIN1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Hinweis_KeineHinweise1", TempText);
TempText = new Text(Globals.BAR_HINWEIS_KEIN2.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_HINWEIS_KEIN2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Hinweis_KeineHinweise2", TempText);
TempText = new Text(Globals.BAR_HINWEIS_KEINGELD1.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_HINWEIS_KEINGELD1.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Hinweis_KeineGeld1", TempText);
TempText = new Text(Globals.BAR_HINWEIS_KEINGELD2.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_HINWEIS_KEINGELD2.FontSize);
TempText.Color = Globals.SprachRot;
MöglicheTexte.Add("Bar_Hinweis_KeineGeld2", TempText);
TextPool.Add("SprachTexte", new Dictionary<string, Text>(MöglicheTexte));
MöglicheTexte.Clear();
#endregion
#region Bar-Auswahltexte
//Auswahltexte
//Seite 1 - Root
TempText = new Text(Globals.BAR_SUCHEMANNSCHAFT.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_SUCHEMANNSCHAFT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarSucheMannschaft", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_KOSTENFILIALE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_KOSTENFILIALE.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarKostenFiliale", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_ABSCHIED.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_ABSCHIED.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarAbschied", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_GELDTRANSFER.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_GELDTRANSFER.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarGeldtransfer", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_HINWEISE.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_HINWEISE.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarHinweis", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("BarBudget", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1A - Auswahl Schiffe (variable Liste)
TempText = new Text(Globals.TEXT_ABBRUCH.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Schiffswahl_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1A", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.1B - Auswahl Mannschaftsdetails
TempText = new Text(Globals.TEXT_ABBRUCH2.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH2.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESTÄTIGUNG.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESTÄTIGUNG.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Bestätigung", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG1.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG1.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung1", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG2.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG2.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung2", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG3.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG3.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung3", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG4.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG4.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung4", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG5.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG5.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung5", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG6.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG6.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung6", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG7.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG7.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung7", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG8.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG8.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung8", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG9.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG9.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung9", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG10.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_MANNSCHAFTSWAHL_BESCHREIBUNG10.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Manschafftswahl_Beschreibung10", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.1B", new List<Text>(TempListe));
TempListe.Clear();
//Seite 1.2 - Auswahl Filialerstellung
//Seite 1.4 - Auswahl Geldtransfer
TempText = new Text(Globals.BUDGETTEXT.String, Assets.FONT_AMIGA4EVER2, Globals.BUDGETTEXT.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Geldtransfer_Quelle", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_GELDTRANSFER_ZIEL.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_GELDTRANSFER_ZIEL.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Geldtransfer_Ziel", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_GELDTRANSFER_BETRAG.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_GELDTRANSFER_BETRAG.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Geldtransfer_Betrag", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.BAR_GELDTRANSFER_BESTÄTIGUNG.String, Assets.FONT_AMIGA4EVER2, Globals.BAR_GELDTRANSFER_BESTÄTIGUNG.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Geldtransfer_Bestätigung", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TempText = new Text(Globals.TEXT_ABBRUCH2.String, Assets.FONT_AMIGA4EVER2, Globals.TEXT_ABBRUCH2.FontSize);
TempText.Color = Globals.StdGrün;
MöglicheTexte.Add("Bar_Geldtransfer_Abbruch", TempText);
TempListe.Add(new Text(TempText.String, Assets.FONT_AMIGA4EVER2, TempText.FontSize));
TextBaum.Add("1.4", new List<Text>(TempListe));
TempListe.Clear();
#endregion
break;
}
}
//Methoden zur Erzeugung und hinzufügung zu den Grafiken der Szene -> Verwaltet werden diese in der Update Methode(ein/ausblenden; AuswahlHandling etc)
public void erzeugeSprachText(Queue<string> textIDs, Queue<string> SprachParam, int xPos, int yPos)
{//Methode zum erzeugen einer Sprachtextsequenz -> sequenz timmer bestimmt die anzeige dauer für jeden Text
MöglicheTexte = TextPool["SprachTexte"];
//Alle einträge der Queue in die Ladequeue übernehmen und nach ein ander in der Updatemethode anzeigen
while (textIDs.IsNotEmpty())
{
String TempString = textIDs.Dequeue();
Text TempText = new Text(MöglicheTexte[TempString].String, Assets.FONT_AMIGA4EVER2, MöglicheTexte[TempString].FontSize + 10);
TempText.Color = Globals.SprachRot;
TempText.OutlineColor = Color.Black;
TempText.OutlineThickness = 2;
TempText.X = xPos;
TempText.Y = yPos;
TempText.Alpha = 0;
SprachText.Enqueue(TempText);
textSprachAktiv = true;
anstehenderSequenzCounter++;
}
//Wenn es Parameter gibt müssen diese in die Paramterqueue übernommen werden
while (SprachParam.IsNotEmpty())
{
SprachParameter.Enqueue(SprachParam.Dequeue());
anstehenderParamSequenzCounter++;
}
}
public void erzeugeAuswahlText(Queue<string> AuswahlParams, int xPos, int yPos)
{//Methode zum erzeugen einer Auswahlliste an Texten in grün -> Positionen geben Ankerpunkt für die Auswahlbox an. Standardmäßig sind immer 3 Texte mit definierten Abständen zu sehen
//Nur Auswahltexte einmalig aktivieren!!!
if (!textBaumAktiv)
{
textBaumAktiv = true;
//Textbaum aktivierung startet immer bei Ebene 1 (Root Menü)
aktuelleEbene = "1";
aktuellerTextIndex = 0;
//gewünschte Position übernehmen
AuswahlXPos = xPos;
AuswahlYPos = yPos;
auswahlAnzeigeFertig = false;
AuswahlParamter.Clear();
//Wenn es Parameter gibt müssen diese in die Paramterdictionary übernommen werden
while (AuswahlParams.IsNotEmpty())
{
AuswahlParamter.Add(AuswahlParams.Dequeue());
}
}
}
public void wechsleAuswahlText(string ebene, Queue<string> AuswahlParams, bool variableListe = false, bool erneuereTextIndex = true)
{
aktuelleEbene = ebene;
// Wenn Erneuerung des Textindex gewünscht ist muss hier initialisiert werden ansonsten bleibt der alte bestehen
if (erneuereTextIndex)
aktuellerTextIndex = 0;
auswahlAnzeigeFertig = false;
//Wenn VariableList mitgegeben wurde handelt es sich um eine AuswahlEbene des Baumes, der variable Länge und Inhalt vorweist
VariableListe = variableListe;
AuswahlParamter.Clear();
//Wenn es Parameter gibt müssen diese in die Paramterdictionary übernommen werden
while (AuswahlParams.IsNotEmpty())
{
AuswahlParamter.Add(AuswahlParams.Dequeue());
}
}
public void erzeugeTafelText(List<Ware> ExportWarenListe, List<Ware> ImportWarenListe)
{//Methode zum erzeugen eines TafelTextes in weiß
//Info Tafeltexte werden erzeugt aus dem vorhandenen Bestand des Hafens der den Textbuilder implementiert d.h. Pro TafelTextListe haben wir immer Startpunkt und von da an
//Immer "doppel Einträge" Einer Links bündig Name der Ware einer Rechtsbündig Preis der Ware
MöglicheTexte = TextPool["TafelTexte"];
Text HeaderText;
Text TempTextLinks;
Text TempTextRechts;
//Obere Linke ecke der Tafel -> Von hier aus werden alle Texte relativ zu platziert
TafelXPos = 475;
TafelYPos = 85;
//Wenn mindestens ein Tafeltext aktiv ist -> Nur dan TafelLogik ausführen
tafelTextAktiv = true;
//Wenn vorher schon eine Tafelliste vorhanden war wird diese zuerst gelöscht (so kann eine Tafelliste neu geschrieben werden)
if (TafelTextListe.IsNotEmpty())
{
foreach (Text item in TafelTextListe)
{
RemoveGraphics(item);
}
TafelTextListe.Clear();
}
//Füllen der TafelTextListe
//Zuerst der "Wir bieten an:" Text
HeaderText = new Text(MöglicheTexte["AngebotTafel"].String, Assets.FONT_AMIGA4EVER2, 8);
HeaderText.CenterTextOriginX();
HeaderText.Color = Globals.TafelGrau;
HeaderText.X = TafelXPos + 75;
HeaderText.Y = TafelYPos;
TafelTextListe.Add(HeaderText);
//Danach alle Export Texte (Maximal 2)
int startYIndex = 0;
// YPos des obersten Exportes
TafelYPos += 25;
foreach (Ware item in ExportWarenListe)
{
TempTextLinks = new Text(item.BEZEICHNUNG, Assets.FONT_AMIGA4EVER2, 8);
TempTextLinks.Color = Globals.TafelGrau;
TempTextLinks.X = TafelXPos;
TempTextLinks.Y = TafelYPos + startYIndex * 20;
TafelTextListe.Add(TempTextLinks);
TempTextRechts = new Text((item.LAGERPREIS / 100).ToString() + "," + (item.LAGERPREIS % 100).ToString() + " $", Assets.FONT_AMIGA4EVER2, 8);
TempTextRechts.OriginX = TempTextRechts.Right;
TempTextRechts.Color = Globals.TafelGrau;
TempTextRechts.X = TafelXPos + 140;
TempTextRechts.Y = TafelYPos + startYIndex * 20;
TafelTextListe.Add(TempTextRechts);
startYIndex++;
}
HeaderText = new Text(MöglicheTexte["NachfrageTafel"].String, Assets.FONT_AMIGA4EVER2, 8);
HeaderText.CenterTextOriginX();
HeaderText.Color = Globals.TafelGrau;
HeaderText.X = TafelXPos + 75;
HeaderText.Y = TafelYPos + 65;
TafelTextListe.Add(HeaderText);
//Danach alle Import Texte
startYIndex = 0;
// YPos des obersten Imports
TafelYPos += 100;
foreach (Ware item in ImportWarenListe)
{
TempTextLinks = new Text(item.BEZEICHNUNG, Assets.FONT_AMIGA4EVER2, 8);
TempTextLinks.Color = Globals.TafelGrau;
TempTextLinks.X = TafelXPos;
TempTextLinks.Y = TafelYPos + startYIndex * 20;
TafelTextListe.Add(TempTextLinks);
TempTextRechts = new Text((item.LAGERPREIS / 100).ToString() + "," + (item.LAGERPREIS % 100).ToString() + " $", Assets.FONT_AMIGA4EVER2, 8);
TempTextRechts.OriginX = TempTextRechts.Right;
TempTextRechts.Color = Globals.TafelGrau;
TempTextRechts.X = TafelXPos + 140;
TempTextRechts.Y = TafelYPos + startYIndex * 20;
TafelTextListe.Add(TempTextRechts);
startYIndex++;
}
tafelAnzeigeFertig = false;
}
public void erzeugeAnzeigeTexte(List<Text> TextListe)
{//Methode zum erzeugen von AnzeigeTexte
//Wenn mindestens ein Tafeltext aktiv ist -> Nur dan TafelLogik ausführen
anzeigeTextAktiv = true;
//Wenn vorher schon eine Tafelliste vorhanden war wird diese zuerst gelöscht (so kann eine Tafelliste neu geschrieben werden)
if (AnzeigeTextListe.IsNotEmpty())
{
foreach (Text Zeile in AnzeigeTextListe)
{
RemoveGraphics(Zeile);
}
}
AnzeigeTextListe.Clear();
foreach (Text Zeile in TextListe)
{
AnzeigeTextListe.Add(Zeile);
}
TextListe.Clear();
textAnzeigeFertig = false;
}
public bool checkEbeneExistiert(string Ebene)
{
if (TextBaum.ContainsKey(Ebene))
return true;
else
return false;
}
public string zeigeAktuelleEbene()
{
return aktuelleEbene;
}
public void setzeFadeOut()
{
Tween(FadeOutBlackScreen, new { Alpha = 1f }, 100f, 0f).Ease(Ease.BackInOut);
AddGraphics(FadeOutBlackScreen);
}
private void wechselFarbe(Text QuellText)
{
if (QuellText.Color.ColorString == Globals.StdGrün.ColorString)
QuellText.Color = Globals.HighLightMagenta;
else
QuellText.Color = Globals.StdGrün;
}
public int checkAuswahl()
{
// Checkauswahl gibt den Index des Auswahlliste des aktuellen Baumes an in relation mit dem aktuellen Anzeige Index
// Abfragen des Clicked Status ( wenn diese Abfrage erfolgt wird der Wert immer direkt zurück gesetzt)
int TempCheckwert;
if (VariableListe)
{
// Bei variabler listen länge wird bei 99 vom Abbruch ausgegangen
if (AuswahlTextListe.Count() == clickedAuswahl)
TempCheckwert = 999;
else
TempCheckwert = clickedAuswahl;
}
else
{
TempCheckwert = clickedAuswahl;
}
clickedAuswahl = 0;
return TempCheckwert;
}
public string checkButtonAuswahl()
{
string TempButton = clickedButton;
clickedButton = "";
return TempButton;
}
public void setAuswahl(int Auswahl)
{
// Setzen der aktuellen Auswahl auf einen vorbestimmten Wert( wird für Shortcut-Funktionalität verwendet)
clickedAuswahl = Auswahl;
}
}
}