-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKamikazeEnemy.js
38 lines (30 loc) · 974 Bytes
/
KamikazeEnemy.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//Underklass till Enemy
class KamikazeEnemy extends Enemy{
var rotationSpeed = 3;
var chaseThreshold = 5;
var giveUpThreshold = 1;
var attackRepeatTime = 1;
//Flagga som kollar om fienden jagar spelaren eller inte.
private var chasing = false;
function Update () {
//Avstånd till spelaren
var dist= (target.position - enemyTransform.position).magnitude;
if (chasing) {
if (dist > giveUpThreshold) {
chasing = false;
}
if(dist <= chaseThreshold){
//Rotera fienden mot spelaren
enemyTransform.rotation = Quaternion.Slerp(enemyTransform.rotation, Quaternion.LookRotation(target.position - enemyTransform.position), rotationSpeed*Time.deltaTime);
//Rör sig mot spelaren
enemyTransform.position += enemyTransform.forward * speed * Time.deltaTime;
}
}
else {
//Börjar följa efter spelaren om denne är tillräckligt nära.
if (dist <= chaseThreshold) {
chasing = true;
}
}
}
}