-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExploadingBullet.cs
93 lines (71 loc) · 2.02 KB
/
ExploadingBullet.cs
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ExploadingBullet : MonoBehaviour
{
public float speed;
public float lifeTime;
public Transform[] firePoints;
float counter;
public GameObject bulletGoesRight;
Vector2 direction;
GameObject player;
private void Awake()
{
player = GameObject.FindGameObjectWithTag("Player");
}
// Start is called before the first frame update
void Start()
{
if(player != null)
{
direction = player.transform.position;
counter = lifeTime;
}
}
// Update is called once per frame
void Update()
{
transform.position = Vector2.MoveTowards(transform.position, direction, speed * Time.deltaTime);
if((Vector2)transform.position == direction)
{
foreach (Transform t in firePoints)
{
Instantiate(bulletGoesRight, t.position, t.rotation);
}
Destroy(gameObject);
}
if(counter > 0)
{
counter -= Time.deltaTime;
}
else
{
foreach(Transform t in firePoints)
{
Instantiate(bulletGoesRight, t.position, t.rotation);
}
Destroy(gameObject);
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Player")
{
if (SAYController.instance.isInvincible == false)
{
CameraShaker.ShakeStrong(.20f, .35f);
SAYPlayerHealthController.instance.DamagePlayer();
Destroy(gameObject);
}
}
if (other.tag != "Player")
{
Destroy(gameObject);
}
foreach (Transform t in firePoints)
{
Instantiate(bulletGoesRight, t.position, t.rotation);
}
}
}