summaryrefslogtreecommitdiff
path: root/GameCode/SpawnObjectOnDealtDamage.cs
blob: 0c4d8cf1393015d5b318d92b162ccc962ee5a470 (plain)
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
using UnityEngine;

public class SpawnObjectOnDealtDamage : WasDealtDamageEffect
{
	public float damageNeeded = 25f;

	public float cd = 0.2f;

	public bool allowSelfDamage;

	private float time;

	private float damageDealt;

	private SpawnObjectEffect spawn;

	private void Start()
	{
		spawn = GetComponent<SpawnObjectEffect>();
	}

	public override void WasDealtDamage(Vector2 damage, bool selfDamage)
	{
		if (!selfDamage || allowSelfDamage)
		{
			damageDealt += damage.magnitude;
			if (damageDealt > damageNeeded && Time.time > time + cd)
			{
				time = Time.time;
				damageDealt = 0f;
				spawn.DoEffect(damage);
			}
		}
	}
}