[SerializeField]privatefloatm_Wait=2f;//zeit in Sekunden wie lange die Plattform wartet
[SerializeField]privateboolm_MoveingByTouching=false;//plattform bewegt sich nur bei Spieler Kontakt
[SerializeField]privateboolm_Loop=false;//Bool zur festlegung ob plattform sich loopen soll
privateboolisMoving=false;//Bool zu Checken ob Plattform sich bewegt kann auch genutzt werden um festzustellen ob die Coroutine Move(Vector2 a, Vector2 b) läuft
privateboolisFacingForward=true;//sagt aus in welche Richtung sich die Plattform bewegt
privateintisAt=0;//Index an welcher stelle sich die Plattform in der List m_Points befindet
voidAwake(){
SetStart(0);
}
voidUpdate(){
if(m_Points.Count<=1)return;
if(isMoving)return;
if(!m_MoveingByTouching)
Patrol();
}
//Setze die Startposition der Plattform.
publicvoidSetStart(intindex){
if(index>=0&&index<m_Points.Count){
this.isAt=index;
transform.position=m_Points[isAt];
}
}
//entscheidet ob die Plattformpatrolie läuft in einer Schleife oder die Plattform bewegt sich vor und zurück
privatevoidPatrol(){
if(!m_Loop){
//Controls movement back an forth
if(isFacingForward){
MoveForward();
}else{
MoveBackward();
}
}else{
//Loops plattform motion forward. Can be Backwards