]> git.lizzy.rs Git - SuperMouseAdventure.git/blob - 2DGame/Assets/Scripts/Enemies/FollowPlayer.cs
Idle Animation Schnecke
[SuperMouseAdventure.git] / 2DGame / Assets / Scripts / Enemies / FollowPlayer.cs
1 using System;
2 using System.Collections;
3 using System.Collections.Generic;
4 using UnityEngine;
5
6 public class FollowPlayer : MonoBehaviour
7 {
8     //SerializeFields sind private, tauchen allerdings trotzdem im Inspector in Unity auf
9
10     [SerializeField]
11     Transform player;
12
13     public float agroRange;
14
15     [SerializeField]
16     private float MoveSpeed;
17
18     public float distToPlayer;
19
20     Rigidbody2D rb;
21
22     // Start is called before the first frame update
23     void Start()
24     {
25         rb = GetComponent<Rigidbody2D>();
26     }
27
28     // Update is called once per frame
29     void Update()
30     {
31         //Abstand zur Spielfigur
32         distToPlayer = Vector2.Distance(transform.position, player.position);
33
34         if(distToPlayer < agroRange)
35         {
36             ChasePlayer();
37         } else
38         {
39             StopChasingPlayer();
40         }
41     }
42
43     void ChasePlayer()
44     {
45         if(transform.position.x < player.position.x)
46         {
47             //Der Gegner ist links neben dem Spieler, also bewegt er sich nach rechts
48             rb.velocity = new Vector2(MoveSpeed, 0);
49
50             //Gegner wird der Bewegung entsprechend gedreht
51             transform.localScale = new Vector2(-1, 1);
52         }
53         else if(transform.position.x > player.position.x)
54         {
55             //Der Gegner ist rechts neben dem Spieler, also bewegt er sich nach links
56             rb.velocity = new Vector2(-MoveSpeed, 0);
57
58             //Gegner wird der Bewegung entsprechend gedreht
59             transform.localScale = new Vector2(1, 1);
60         }
61     }
62
63     void StopChasingPlayer()
64     {
65         //Geschwindigkeit des Gegners auf null setzen
66         rb.velocity = Vector2.zero;
67     }
68 }