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.
680 lines
26 KiB
C#
680 lines
26 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.Entities;
|
|
|
|
namespace _1869_Remake.Scenes
|
|
{
|
|
public class worldMap : Scene
|
|
{
|
|
// Imageobjekte mit der Weltkarte Bildschirmen
|
|
public Image Frame = new Image(Assets.MAINSCREEN_FRAME);
|
|
public Image Welt;
|
|
public Image FadeInBlackScreen = new Image(Assets.BLACKSCREEN);
|
|
public Image FadeOutBlackScreen = new Image(Assets.BLACKSCREEN);
|
|
|
|
//Background Animation
|
|
AnimatingEntity BackgroundMeer = new AnimatingEntity(0, 0);
|
|
|
|
//FadeOutVariablen (Parameter sind für externe FadeOutTrigger
|
|
private bool FadeOut;
|
|
private string FadeOutZiel;
|
|
private string FadeOutZiel_Param1;
|
|
|
|
// Icons unten rechts im Bild
|
|
public Image Coin = new Image(Assets.ICON_COIN);
|
|
public Image Coin_clicked = new Image(Assets.ICON_COIN_CLICKED);
|
|
|
|
public Image Anker = new Image(Assets.ICON_ANKER);
|
|
public Image Anker_clicked = new Image(Assets.ICON_ANKER_CLICKED);
|
|
|
|
public Image Buch = new Image(Assets.ICON_BUCH);
|
|
public Image Buch_clicked = new Image(Assets.ICON_BUCH_CLICKED);
|
|
|
|
public Image GeldSack = new Image(Assets.ICON_GELDSACK);
|
|
public Image GeldSack_clicked = new Image(Assets.ICON_GELDSACK_CLICKED);
|
|
|
|
public Image SchiffsController = new Image(Assets.SCHIFFSCONTROLLER);
|
|
|
|
public Text SpielerLabel;
|
|
|
|
//AnzeigeTimer aktuell nur für warten vor dem 1. Firmenanzeigen (später direkt nach tween aber definiert durch nächsten aktions knoten[Zeitweel])
|
|
public const float TIMER_GRENZE = 90f;
|
|
public float szenenTimer = 0f;
|
|
|
|
//Indikator für reload der Icons
|
|
public bool miniIconsGesetzt = false;
|
|
|
|
//Zeitrad
|
|
ZeitRad EventRad;
|
|
|
|
//Alle aktuell im Screen angezeigten Elemente
|
|
List<Hafen> aktiveHäfen = new List<Hafen>();
|
|
List<MeeresKnotenpunkt> aktiveKnoten = new List<MeeresKnotenpunkt>();
|
|
List<SeeStraße> aktiveSeeStraßen = new List<SeeStraße>();
|
|
|
|
//Schlange aller gewählten Meeresknote => Das ist die Routenauswahl
|
|
Queue<MeeresKnotenpunkt> SeeRoute = new Queue<MeeresKnotenpunkt>();
|
|
|
|
//Um zu verhindern dass mehrere Subelemente aktiv sind
|
|
public bool SubElementAktiv = false;
|
|
|
|
public worldMap()
|
|
{
|
|
Globals.aktuelleSzene = "Main";
|
|
|
|
//Initialisieren des Hauptbildschirms und einblenden
|
|
switch (Globals.weltKarte)
|
|
{
|
|
case "EUROPA": Welt = new Image(Assets.WELT_EUROPA); break;
|
|
case "AMERIKA": break;
|
|
case "AFRIKA": break;
|
|
case "ASIEN": break;
|
|
}
|
|
//Meereshintergrund
|
|
Add(BackgroundMeer);
|
|
|
|
Welt.CenterOrigin();
|
|
Welt.X = Globals.Remake.HalfWidth;
|
|
Welt.Y = Globals.Remake.HalfHeight;
|
|
|
|
AddGraphic(Welt);
|
|
|
|
Frame.CenterOrigin();
|
|
Frame.X = Globals.Remake.HalfWidth;
|
|
Frame.Y = Globals.Remake.HalfHeight;
|
|
|
|
AddGraphic(Frame);
|
|
|
|
//Icons vorbereiten
|
|
//Position ausgelotet -> nicht Relativ == Keine Änderung der Auflösung Möglich(Falls doch gewünscht muss umgedacht/umgebaut werden)
|
|
// -> nochmal durchtesten
|
|
|
|
//Münze = Bank/Kredite
|
|
Coin.CenterOrigin();
|
|
Coin_clicked.CenterOrigin();
|
|
|
|
Coin.X = 450;
|
|
Coin.Y = 442;
|
|
Coin_clicked.X = 450;
|
|
Coin_clicked.Y = 442;
|
|
|
|
//alpha des Clicked Icons auf 0 setzen und bei Click einblenden (auf 1 setzen)
|
|
Coin_clicked.Alpha = 0f;
|
|
|
|
AddGraphic(Coin);
|
|
AddGraphic(Coin_clicked);
|
|
|
|
//Anker = Rekordzeiten
|
|
Anker.CenterOrigin();
|
|
Anker_clicked.CenterOrigin();
|
|
Anker.X = 504;
|
|
Anker.Y = 442;
|
|
Anker_clicked.X = 504;
|
|
Anker_clicked.Y = 442;
|
|
|
|
Anker_clicked.Alpha = 0f;
|
|
|
|
AddGraphic(Anker);
|
|
AddGraphic(Anker_clicked);
|
|
|
|
//Geldsack = statistiken
|
|
GeldSack.CenterOrigin();
|
|
GeldSack_clicked.CenterOrigin();
|
|
GeldSack.X = 558;
|
|
GeldSack.Y = 442;
|
|
GeldSack_clicked.X = 558;
|
|
GeldSack_clicked.Y = 442;
|
|
|
|
GeldSack_clicked.Alpha = 0f;
|
|
|
|
AddGraphic(GeldSack);
|
|
AddGraphic(GeldSack_clicked);
|
|
|
|
//Buch = Einstellungen/Optionen/SAVE-LOAD
|
|
Buch.CenterOrigin();
|
|
Buch_clicked.CenterOrigin();
|
|
Buch.X = 612;
|
|
Buch.Y = 442;
|
|
Buch_clicked.X = 612;
|
|
Buch_clicked.Y = 442;
|
|
|
|
Buch_clicked.Alpha = 0f;
|
|
|
|
AddGraphic(Buch);
|
|
AddGraphic(Buch_clicked);
|
|
|
|
//Schiffscontroller
|
|
SchiffsController.CenterOrigin();
|
|
SchiffsController.X = 125;
|
|
SchiffsController.Y = 275;
|
|
|
|
AddGraphic(SchiffsController);
|
|
|
|
|
|
//Vorbereiten des Blackscreens
|
|
FadeInBlackScreen.CenterOrigin();
|
|
FadeInBlackScreen.X = Globals.Remake.HalfWidth;
|
|
FadeInBlackScreen.Y = Globals.Remake.HalfHeight;
|
|
FadeInBlackScreen.Alpha = 1f;
|
|
|
|
FadeOutBlackScreen.CenterOrigin();
|
|
FadeOutBlackScreen.X = Globals.Remake.HalfWidth;
|
|
FadeOutBlackScreen.Y = Globals.Remake.HalfHeight;
|
|
FadeOutBlackScreen.Alpha = 0f;
|
|
|
|
//ZeitRad Hinzufügen
|
|
EventRad = new ZeitRad(true);
|
|
//Draw.Rectangle(EventRad.startPosX, EventRad.startPosY, 100, 50);
|
|
|
|
|
|
// Nur nächstes Event Vorladen wenn letzte Szene ConfigSzene war (Startsequenz des Spiels)
|
|
if (Globals.LetzteSzene == "Config")
|
|
{
|
|
EventRad.nächstesDatumLaden();
|
|
}
|
|
|
|
//Anzeige des Zeitrads aktivieren
|
|
EventRad.anzeigeEvent();
|
|
|
|
this.Add(EventRad);
|
|
|
|
//Text in der Kopfzeile zu aktuellem Spieler -> Später ergänzt durch breites Holzbrett das schnell durchs bild fliegt, kurz anhält
|
|
//name Lesbar ist und wieder weg fliegt kombiniert mit wasser splash effekt zur Hintergrund überblendung
|
|
//+ eben label in der kopfzeile (Damit immer klar deutlich ist wer dran ist + hot seat funktion ohne dass der Gegner sehen
|
|
//kann was man getan hat und wo man gerade war)
|
|
SpielerLabel = new Text(Globals.AktuellerSpieler.FIRMENNAME, Assets.FONT_AMIGA4EVER2, 18);
|
|
SpielerLabel.CenterOrigin();
|
|
|
|
//Weil diese Farbe nur für dieses Label genutzt wird wird sie nich globalisiert!
|
|
SpielerLabel.Color = new Color("333333");
|
|
SpielerLabel.ShadowColor = new Color("e2e2e2");
|
|
SpielerLabel.ShadowX = 2;
|
|
SpielerLabel.ShadowY = 2;
|
|
SpielerLabel.X = 325;
|
|
SpielerLabel.Y = 12;
|
|
//SpielerLabel.Alpha = 0f;
|
|
|
|
AddGraphic(SpielerLabel);
|
|
|
|
//Laden der Clickboxen der Städte zum aktuellen Weltbereich
|
|
LadeStädte();
|
|
|
|
LadeMeeresKnoten();
|
|
LadeSeeStraßen();
|
|
|
|
//Icons laden
|
|
setzeMiniIcons();
|
|
|
|
Tween(FadeInBlackScreen, new { Alpha = 0f }, 100f, 0f).Ease(Ease.BackInOut);
|
|
AddGraphics(FadeInBlackScreen);
|
|
|
|
|
|
|
|
}
|
|
|
|
public override void Render()
|
|
{
|
|
base.Render();
|
|
|
|
//Reguläre Render Reihenfolge ist Scene>>Entities ... Background ist ein Entity aber einige Grafiken in der Scene müssen danach gerendert werden
|
|
Draw.Graphic(Welt);
|
|
Draw.Graphic(Frame);
|
|
Draw.Graphic(SpielerLabel);
|
|
Draw.Graphic(Coin);
|
|
Draw.Graphic(Coin_clicked);
|
|
Draw.Graphic(Anker);
|
|
Draw.Graphic(Anker_clicked);
|
|
Draw.Graphic(Buch);
|
|
Draw.Graphic(Buch_clicked);
|
|
Draw.Graphic(GeldSack);
|
|
Draw.Graphic(SchiffsController);
|
|
ZeichneStädte();
|
|
Draw.Graphic(GeldSack_clicked);
|
|
Draw.Graphic(FadeInBlackScreen);
|
|
Draw.Graphic(FadeOutBlackScreen);
|
|
}
|
|
|
|
|
|
public override void Update()
|
|
{
|
|
base.Update();
|
|
|
|
szenenTimer++;
|
|
|
|
|
|
|
|
if (!miniIconsGesetzt)
|
|
{
|
|
setzeMiniIcons();
|
|
miniIconsGesetzt = true;
|
|
}
|
|
|
|
if (FadeOut)
|
|
{
|
|
if (FadeOutBlackScreen.Alpha >= 0.999f)
|
|
{
|
|
Globals.LetzteSzene = "Main";
|
|
miniIconsGesetzt = false;
|
|
//Entitäten sind noch der Scene zugeschrieben. Wenn Szene wechselt, wird diese weggeworfen aber die Entitäten bleiben "zugeschrieben" -> erneutes zuweisen zu einer Szene klappt nicht mehr
|
|
this.RemoveAll();
|
|
Scene ZielSzene = null;
|
|
switch (FadeOutZiel)
|
|
{
|
|
case "Handel":
|
|
ZielSzene = new HandelScene(FadeOutZiel_Param1);
|
|
break;
|
|
case "Optionen":
|
|
ZielSzene = new OptionenScene();
|
|
break;
|
|
case "Bank":
|
|
ZielSzene = new BankScene();
|
|
break;
|
|
case "Hall of Fame":
|
|
ZielSzene = new HallOfFameScene();
|
|
break;
|
|
case "Werft":
|
|
ZielSzene = new WerftScene(FadeOutZiel_Param1);
|
|
break;
|
|
case "Filiale":
|
|
//Anpassen//
|
|
ZielSzene = new StatistikScene();
|
|
break;
|
|
case "Bar":
|
|
//Anpassen//
|
|
ZielSzene = new BarScene(FadeOutZiel_Param1);
|
|
break;
|
|
case "Statistiken":
|
|
ZielSzene = new StatistikScene();
|
|
break;
|
|
}
|
|
if (ZielSzene != null)
|
|
{
|
|
FadeOut = false;
|
|
this.RemoveAll();
|
|
Globals.Remake.SwitchScene(ZielSzene);
|
|
}
|
|
|
|
else
|
|
Console.WriteLine("Fehler bei Szenenwechsel in WorldMap!");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//bei jedem Tick überprüfen ob einer der Häfen einen FadeOut erwartet
|
|
for (int i = 0; i < aktiveHäfen.Count(); i++)
|
|
{
|
|
string TempZiel;
|
|
string TempParam;
|
|
aktiveHäfen[i].prüfeExternerFadeOut(out TempZiel, out TempParam);
|
|
// Möglichkeit für jeden potentiellen Screen gesonderte Logik für den Übergang in die neue Szene zu füllen
|
|
switch (TempZiel)
|
|
{
|
|
case "Error":
|
|
// Mögliches Fehlerhandling; Aktuell keine Handlung wenn kein Fadeout gesetzt wurde
|
|
break;
|
|
case "Handel":
|
|
setzeFadeOut(TempZiel);
|
|
FadeOutZiel_Param1 = TempParam;
|
|
//wenn FadeOut initiiert -> Lösche FadeOut Marker im Hafen
|
|
aktiveHäfen[i].resetFadeOut();
|
|
break;
|
|
case "Werft":
|
|
setzeFadeOut(TempZiel);
|
|
FadeOutZiel_Param1 = TempParam;
|
|
//wenn FadeOut initiiert -> Lösche FadeOut Marker im Hafen
|
|
aktiveHäfen[i].resetFadeOut();
|
|
break;
|
|
case "Bar":
|
|
setzeFadeOut(TempZiel);
|
|
FadeOutZiel_Param1 = TempParam;
|
|
//wenn FadeOut initiiert -> Lösche FadeOut Marker im Hafen
|
|
aktiveHäfen[i].resetFadeOut();
|
|
break;
|
|
case "Filiale":
|
|
setzeFadeOut(TempZiel);
|
|
FadeOutZiel_Param1 = TempParam;
|
|
//wenn FadeOut initiiert -> Lösche FadeOut Marker im Hafen
|
|
aktiveHäfen[i].resetFadeOut();
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Click Logging für Städte Hitboxen
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
Console.Clear();
|
|
|
|
Console.WriteLine("Maus X: " + this.MouseX.ToString() + " Maus Y: " + this.MouseY.ToString());
|
|
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("Z").Released )
|
|
{
|
|
Console.Clear();
|
|
EventRad.zeigeNächstesEventVomTyp("REISE-START");
|
|
EventRad.zeigeNächstesEventVomTyp("REISE-ANKUNFT");
|
|
}
|
|
|
|
//Wenn timer abgelaufen wird Label Angezeigt -> später gegen aktuellen Spieler austauschen(bestimmt durch ZeitQueue)
|
|
if (szenenTimer >= TIMER_GRENZE)
|
|
{
|
|
//SpielerLabel.Alpha = 1f;
|
|
}
|
|
|
|
//Click auf das Zeitrad verursacht anzeige des nächsten Datums
|
|
if (EventRad.wurdeZeiRadGeklicked())
|
|
{
|
|
//Wenn auf Zeitrad geClicked kann der aktuelle Spieler gewechselt haben
|
|
//deshalb neu überprüfen, ob Fähnchen oder Schiffsicon an den Häfen gesetzt werden muss
|
|
foreach (Hafen h in aktiveHäfen)
|
|
{
|
|
h.aktiviereFähnchen(Globals.AktuellerSpieler);
|
|
//Das gleiche für Schiffe
|
|
h.aktiviereSchiffsIcon(Globals.AktuellerSpieler);
|
|
}
|
|
|
|
//Anzeige des Zeitrads aktivieren
|
|
EventRad.anzeigeEvent();
|
|
this.RemoveGraphic(SpielerLabel);
|
|
|
|
SpielerLabel = new Text(Globals.AktuellerSpieler.FIRMENNAME, Assets.FONT_AMIGA4EVER2, 18);
|
|
SpielerLabel.CenterOrigin();
|
|
|
|
//Weil diese Farbe nur für dieses Label genutzt wird wird sie nich globalisiert!
|
|
SpielerLabel.Color = new Color("333333");
|
|
SpielerLabel.ShadowColor = new Color("e2e2e2");
|
|
SpielerLabel.ShadowX = 2;
|
|
SpielerLabel.ShadowY = 2;
|
|
SpielerLabel.X = 325;
|
|
SpielerLabel.Y = 12;
|
|
//SpielerLabel.Alpha = 0f;
|
|
|
|
setzeMiniIcons();
|
|
AddGraphic(SpielerLabel);
|
|
}
|
|
|
|
//Click Logik für Schiffscontroller
|
|
if (Util.InRect(this.MouseX, this.MouseY, SchiffsController.X - SchiffsController.HalfWidth, SchiffsController.Y - SchiffsController.HalfHeight, 150, 200) && !Globals.DisplaySubElementAktiv)
|
|
{
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
|
|
{
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
//Test Reiselogik
|
|
Console.WriteLine("Controller Links Geclicked");
|
|
//Testen warum bei Schiffserstellung der Spieler nicht wind vom neuen Schiff erhält und wenn schiffe registriert werden hier weiter testen!!!
|
|
WeltEvent SchiffsReise = new WeltEvent(Globals.AktuellesDatum, "REISE-START", Globals.AktuellerSpieler, null, Globals.AktuellerSpieler.SCHIFFE[0], Globals.AlleHäfen[Globals.AktuellerSpieler.SCHIFFE[0].angedocktAnHafen]);
|
|
WeltEvent SchiffsReise2 = new WeltEvent(Globals.AktuellesDatum.AddDays(3), "REISE-ANKUNFT", Globals.AktuellerSpieler, null, Globals.AktuellerSpieler.SCHIFFE[0], Globals.AlleHäfen["HAMBURG"]);
|
|
Globals.EventAktion(SchiffsReise,"EINFÜGEN");
|
|
Globals.EventAktion(SchiffsReise2, "EINFÜGEN");
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("MausRechts").Released)
|
|
{
|
|
Console.WriteLine("Controller Rechts Geclicked");
|
|
Console.Clear();
|
|
EventRad.zeigeNächstenEventTag();
|
|
}
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
|
|
|
|
//Hovereffecte bei Icons
|
|
//Münze
|
|
if (Util.InRect(this.MouseX, this.MouseY, Coin.X - Coin.HalfWidth, Coin.Y - Coin.HalfWidth, 44, 55) && !Globals.DisplaySubElementAktiv)
|
|
{
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
|
|
{
|
|
Coin_clicked.Alpha = 1f;
|
|
}
|
|
else
|
|
{
|
|
Coin_clicked.Alpha = 0f;
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
|
|
//FadeOut zu Bank
|
|
setzeFadeOut("Bank");
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Coin_clicked.Alpha = 0f;
|
|
}
|
|
|
|
//Anker
|
|
if (Util.InRect(this.MouseX, this.MouseY, Anker.X - Anker.HalfWidth, Anker.Y - Anker.HalfWidth, 44, 55) && !Globals.DisplaySubElementAktiv)
|
|
{
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
|
|
{
|
|
Anker_clicked.Alpha = 1f;
|
|
}
|
|
else
|
|
{
|
|
Anker_clicked.Alpha = 0f;
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
//FadeOut zu Hall Of Fame
|
|
setzeFadeOut("Hall of Fame");
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Anker_clicked.Alpha = 0f;
|
|
}
|
|
|
|
|
|
//GeldSack
|
|
if (Util.InRect(this.MouseX, this.MouseY, GeldSack.X - GeldSack.HalfWidth, GeldSack.Y - GeldSack.HalfWidth, 44, 55) && !Globals.DisplaySubElementAktiv)
|
|
{
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
|
|
{
|
|
GeldSack_clicked.Alpha = 1f;
|
|
}
|
|
else
|
|
{
|
|
GeldSack_clicked.Alpha = 0f;
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
//FadeOut zu Statistik Screen
|
|
setzeFadeOut("Statistiken");
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
GeldSack_clicked.Alpha = 0f;
|
|
}
|
|
|
|
//Buch
|
|
if (Util.InRect(this.MouseX, this.MouseY, Buch.X - Buch.HalfWidth, Buch.Y - Buch.HalfWidth, 44, 55) && !Globals.DisplaySubElementAktiv)
|
|
{
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Down)
|
|
{
|
|
Buch_clicked.Alpha = 1f;
|
|
}
|
|
else
|
|
{
|
|
Buch_clicked.Alpha = 0f;
|
|
}
|
|
|
|
if (Globals.PlayerSession.Controller.Button("MausLinks").Released)
|
|
{
|
|
//FadeOut zu Optionsscreen
|
|
setzeFadeOut("Optionen");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Buch_clicked.Alpha = 0f;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public void LadeStädte()
|
|
{
|
|
//Es sind immer die gleichen festen Städte zu laden
|
|
switch (Globals.weltKarte)
|
|
{
|
|
case "EUROPA":
|
|
importHafen("ODESSA");
|
|
importHafen("TRIEST");
|
|
importHafen("BARCELONA");
|
|
importHafen("LISSABON");
|
|
importHafen("LE HAVRE");
|
|
importHafen("AMSTERDAM");
|
|
importHafen("HAMBURG");
|
|
importHafen("LONDON");
|
|
importHafen("LIVERPOOL");
|
|
importHafen("TUNIS");
|
|
importHafen("PORT SAID");
|
|
|
|
break;
|
|
case "AMERIKA": break;
|
|
case "ASIEN": break;
|
|
case "AFRIKA": break;
|
|
}
|
|
//Wenn Häfen geladen sind einmal alle Icons richtig setzen
|
|
setzeMiniIcons();
|
|
miniIconsGesetzt = true;
|
|
}
|
|
|
|
public void ZeichneStädte()
|
|
{
|
|
switch (Globals.weltKarte)
|
|
{
|
|
case "EUROPA":
|
|
Draw.Entity(Globals.AlleHäfen["ODESSA"]);
|
|
Draw.Entity(Globals.AlleHäfen["TRIEST"]);
|
|
Draw.Entity(Globals.AlleHäfen["BARCELONA"]);
|
|
Draw.Entity(Globals.AlleHäfen["LISSABON"]);
|
|
Draw.Entity(Globals.AlleHäfen["LE HAVRE"]);
|
|
Draw.Entity(Globals.AlleHäfen["AMSTERDAM"]);
|
|
Draw.Entity(Globals.AlleHäfen["HAMBURG"]);
|
|
Draw.Entity(Globals.AlleHäfen["LONDON"]);
|
|
Draw.Entity(Globals.AlleHäfen["LIVERPOOL"]);
|
|
Draw.Entity(Globals.AlleHäfen["TUNIS"]);
|
|
Draw.Entity(Globals.AlleHäfen["PORT SAID"]);
|
|
|
|
break;
|
|
case "AMERIKA": break;
|
|
case "ASIEN": break;
|
|
case "AFRIKA": break;
|
|
}
|
|
//Wenn Häfen geladen sind einmal alle Icons richtig setzen
|
|
setzeMiniIcons();
|
|
miniIconsGesetzt = true;
|
|
}
|
|
public void LadeMeeresKnoten()
|
|
{
|
|
//Es sind immer die gleichen festen MeeeresKnoten zu laden
|
|
switch (Globals.weltKarte)
|
|
{
|
|
case "EUROPA":
|
|
importMeeresKnoten("Test GB", 50, 50);
|
|
importMeeresKnoten("Test Spanien", 150, 150);
|
|
break;
|
|
case "AMERIKA": break;
|
|
case "ASIEN": break;
|
|
case "AFRIKA": break;
|
|
}
|
|
//Wenn Häfen geladen sind einmal alle Icons richtig setzen
|
|
setzeMiniIcons();
|
|
miniIconsGesetzt = true;
|
|
}
|
|
|
|
public void LadeSeeStraßen()
|
|
{
|
|
//Es sind immer die gleichen festen MeeeresKnoten zu laden
|
|
switch (Globals.weltKarte)
|
|
{
|
|
case "EUROPA":
|
|
importSeeStraße("GB - Spanien");
|
|
importSeeStraße("Spanien - GB");
|
|
|
|
|
|
break;
|
|
case "AMERIKA": break;
|
|
case "ASIEN": break;
|
|
case "AFRIKA": break;
|
|
}
|
|
//Wenn Häfen geladen sind einmal alle Icons richtig setzen
|
|
setzeMiniIcons();
|
|
miniIconsGesetzt = true;
|
|
}
|
|
|
|
private void importHafen(string Name)
|
|
{
|
|
|
|
Add(Globals.AlleHäfen[Name]);
|
|
aktiveHäfen.Add(Globals.AlleHäfen[Name]);
|
|
|
|
}
|
|
|
|
private void importMeeresKnoten(string Name, int xPos, int yPos)
|
|
{
|
|
Globals.AlleMeeresKnoten[Name].setzeNeueScreenPos(xPos, yPos);
|
|
Add(Globals.AlleMeeresKnoten[Name]);
|
|
aktiveKnoten.Add(Globals.AlleMeeresKnoten[Name]);
|
|
|
|
}
|
|
|
|
private void importSeeStraße(string Name)
|
|
{
|
|
Add(Globals.AlleSeeStraßen[Name]);
|
|
aktiveSeeStraßen.Add(Globals.AlleSeeStraßen[Name]);
|
|
|
|
}
|
|
|
|
private void setzeMiniIcons()
|
|
{
|
|
foreach (Hafen h in aktiveHäfen)
|
|
{
|
|
h.aktiviereFähnchen(Globals.AktuellerSpieler);
|
|
h.aktiviereSchiffsIcon(Globals.AktuellerSpieler);
|
|
}
|
|
}
|
|
|
|
public void setzeFadeOut(string Ziel)
|
|
{
|
|
//FadeOut
|
|
AddGraphic(FadeOutBlackScreen);
|
|
Tween(FadeOutBlackScreen, new { Alpha = 1f }, 100f, 0f).Ease(Ease.BackInOut);
|
|
|
|
EventRad.setzeFadeOut();
|
|
|
|
FadeOut = true;
|
|
FadeOutZiel = Ziel;
|
|
}
|
|
}
|
|
}
|