fire.cs
1.22 KB
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Fire : MonoBehaviour
{
[SerializeField] private string fireName; // 불의 이름 (난로, 모닥불, 화롯불)
[SerializeField] private int damage; // 불의 데미지
[SerializeField] private float damageTime; // 데미지가 들어갈 딜레이 (매 프레임마다가 아닌 일정 시간마다 데미지를 주기 위하여)
private float currentDamageTime;
[SerializeField] private float durationTime; // 불의 지속 시간
private float currentDurationTime;
[SerializeField]
private ParticleSystem ps_Flame; // 불 파티클 시스템. 꺼주기 위하여
// 상태 변수
private bool isFire = true;
void Start()
{
currentDurationTime = durationTime;
}
void Update()
{
if (isFire)
{
ElapseTime();
}
}
private void ElapseTime()
{
currentDurationTime -= Time.deltaTime;
if (currentDurationTime <= 0)
Off();
if (currentDamageTime > 0)
currentDamageTime -= Time.deltaTime; // 1초에 1씩
}
private void Off()
{
ps_Flame.Stop();
isFire = false;
}
public bool GetIsFire()
{
return isFire;
}
}