summaryrefslogtreecommitdiff
path: root/GameCode/DealDamageToPlayer.cs
blob: bfad181ba81f5db0b7942210338287115f9a3927 (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
36
37
38
39
40
41
42
43
44
45
46
47
using Sonigon;
using UnityEngine;

public class DealDamageToPlayer : MonoBehaviour
{
	public enum TargetPlayer
	{
		Own,
		Other
	}

	[Header("Sounds")]
	public SoundEvent soundDamage;

	[Header("Settings")]
	public float damage = 25f;

	public bool lethal = true;

	public TargetPlayer targetPlayer;

	private CharacterData data;

	private Player target;

	private void Start()
	{
		data = GetComponentInParent<CharacterData>();
	}

	public void Go()
	{
		if (!target)
		{
			target = data.player;
			if (targetPlayer == TargetPlayer.Other)
			{
				target = PlayerManager.instance.GetOtherPlayer(target);
			}
		}
		if (soundDamage != null && target != null && target.data != null && target.data.isPlaying && !target.data.dead && !target.data.block.IsBlocking())
		{
			SoundManager.Instance.Play(soundDamage, target.transform);
		}
		target.data.healthHandler.TakeDamage(damage * Vector2.up, base.transform.position, null, data.player, lethal);
	}
}