// Update is called once per frame void Update() { slimey = this; //Macht dass sich der Slimey von Punkt a zu Punkt b und zu Punkt c usw. bewegen kann Vector3 startPosition = waypoints[currentWaypoint].transform.position; Vector3 endPosition = waypoints[currentWaypoint + 1].transform.position; float pathLength = Vector3.Distance(startPosition, endPosition); float totalTimeForPath = pathLength / speed; float currentTimeOnPath = Time.time - lastWaypointSwitchTime; gameObject.transform.position = Vector2.Lerp(startPosition, endPosition, currentTimeOnPath / totalTimeForPath); if (gameObject.transform.position.Equals(endPosition)) //kontrolliert ob der Slimey schon am letzten Waypoint ist { if (currentWaypoint < waypoints.Length - 2) { currentWaypoint++; lastWaypointSwitchTime = Time.time; } else //zerstört den Slimey und setzt die Leben auf eines weniger { CameraShake.instance.StartShake(); Destroy(gameObject); GameManager.singleton.SetHealth(GameManager.singleton.GetHealth() - LifeDamage); } } }
// Start is called before the first frame update void Start() { speed = startSpeed; lastWaypointSwitchTime = Time.time; //Time = Zeit ?XD slimey = this; }