ADD: added TRacklistClass and track class

This commit is contained in:
Henry Winkel
2023-11-09 17:19:45 +01:00
parent 46f041d58e
commit 8f703dd1c7
15 changed files with 350 additions and 230 deletions

View File

@@ -0,0 +1,86 @@
import { ObjectType } from 'typescript';
import Track from './Track'
class TrackListCLass
{
constructor()
{
this.trackMap = new Map<string, Track>();
}
trackMap: Map<string, Track> ;
getTrack(id :string)
{
return this.trackMap.get(id);
}
isInList(id :string)
{
return this.trackMap.has(id);
}
addTrack(track :Track)
{
this.trackMap.set(track.Id,track);
}
updateTrack(input: { id: string; Name: string; Course: number; Speed: number; External: boolean; Height: number; Position: number[]; Type: string; Side: string; })
{
var Track = this.trackMap.get(input.id);
if(Track === undefined)
{
return;
}
if(Track.isOnEdit === false)
{
console.log("update");
Track.Name = input.Name;
Track.Course = input.Course;
Track.Speed = input.Speed;
Track.External = input.External;
Track.Height = input.Height;
Track.Position = input.Position;
Track.Type = input.Type;
Track.Side = input.Side;
}
}
getKeys()
{
return this.trackMap.keys;
}
getSize()
{
return this.trackMap.size;
}
getTracks()
{
var Tracks = new Array<Track>();
this.trackMap.forEach((val,index) =>
Tracks.push(val)
)
return Tracks;
}
getTrackMap()
{
return this.trackMap;
}
}
export default TrackListCLass