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#

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");
}
}
}