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.
95 lines
2.7 KiB
C#
95 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using _1869_Remake;
|
|
using Otter;
|
|
|
|
namespace _1869_Remake.Entities
|
|
{
|
|
public class SeeStraße : Entity
|
|
{
|
|
public string BEZEICHNUNG;
|
|
|
|
bool toggleTransform = false;
|
|
|
|
// Berechnungsvariablen für Vectorrechnung
|
|
Vector2 VON_Punkt = new Vector2();
|
|
Vector2 NACH_Punkt = new Vector2();
|
|
Vector2 STRAßENVEKTOR = new Vector2();
|
|
|
|
public int SPEEDMULTIPLIKATOR;
|
|
|
|
public SeeStraße()
|
|
{
|
|
// To Do: Vervollständigen + Vektorquadrat zeichnen lassen von punkt A nach B in einer Farbe
|
|
}
|
|
|
|
public SeeStraße(string Name, int xPos_VON, int yPos_VON, int xPos_NACH, int yPos_Nach, int speedMultiplikator)
|
|
{
|
|
this.BEZEICHNUNG = Name;
|
|
this.X = xPos_VON;
|
|
this.Y = yPos_VON;
|
|
|
|
this.VON_Punkt.X = xPos_VON;
|
|
this.VON_Punkt.Y = yPos_VON;
|
|
|
|
this.NACH_Punkt.X = xPos_NACH;
|
|
this.NACH_Punkt.Y = yPos_Nach;
|
|
|
|
this.STRAßENVEKTOR = NACH_Punkt - VON_Punkt;
|
|
|
|
this.SPEEDMULTIPLIKATOR = speedMultiplikator;
|
|
Globals.registriereEntität(this);
|
|
|
|
}
|
|
|
|
public override void Render()
|
|
{
|
|
base.Render();
|
|
|
|
// Renderfunktion muss überschrieben werden, da das Zeichnen von Linien auf der Oberfläche extra gerendert werden muss neben den üblichen Grafiken
|
|
// sonst würde die Linie nur für einen Frame sichtbar sein (1/30 Sekunden)
|
|
if (toggleTransform)
|
|
{
|
|
|
|
// Linie wird vorbereitet und mit den Koordinaten des Von und Nach Punktes erstellt
|
|
Vertices StraßenLinie = new Vertices();
|
|
StraßenLinie.Add(VON_Punkt.X, VON_Punkt.Y);
|
|
StraßenLinie.Add(NACH_Punkt.X, NACH_Punkt.Y);
|
|
StraßenLinie.Color = Globals.MeeresRoutenRot;
|
|
StraßenLinie.Relative = false;
|
|
StraßenLinie.PrimitiveType = VertexPrimitiveType.Lines;
|
|
|
|
AddGraphic(StraßenLinie);
|
|
toggleTransform = false;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
public override void Update()
|
|
{
|
|
base.Update();
|
|
|
|
if (Globals.PlayerSession.Controller.Button("R").Released)
|
|
{
|
|
if (!toggleTransform)
|
|
{
|
|
|
|
toggleTransform = true;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public void baueStraßeZuNächstemPunkt()
|
|
{
|
|
|
|
Console.WriteLine("Transformed");
|
|
}
|
|
|
|
}
|
|
}
|