();
Invoke("ForGameObjectFind", 30f);
}
// Start에 들어감
void ForGameObjectFind()
{
F_16_ParticleSet = GameObject.Find("ParticleSet").GetComponentusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class omFireFightingTruck : omIObject
{
public ParticleSystem waterParticle;
public ParticleSystem[] fireParticle;
public GameObject F_16_ParticleSet;
// 코루틴 시간 제어
public float waitForSeconds = 20.0f;
[Header("Particle Time Setting")]
// 물 파티클 시간
public float water_time = 0f;
public float water_timeDelay = 0f;
// 불 파티클 시간
public float fire_time = 0f;
public float fire_timeDelay = 0f;
AudioSource audioSource;
void Start()
{
audioSource = GetComponent<AudioSource>();
Invoke("ForGameObjectFind", 30f);
}
// Start에 들어감
void ForGameObjectFind()
{
F_16_ParticleSet = GameObject.Find("ParticleSet").GetComponent<GameObject>();
waterParticle = GameObject.Find("Water_Particles").GetComponent<ParticleSystem>();
fireParticle = GameObject.Find("ParticleSet").GetComponentsInChildren<ParticleSystem>();
}
IEnumerator WaterOff()
{
yield return new WaitForSeconds(waitForSeconds);
waterParticle.Play();
audioSource.Play();
while (water_time < water_timeDelay)
{
yield return null;
water_time += Time.deltaTime;
waterParticle.transform.localScale -= new Vector3(0.05f * Time.deltaTime, 0.05f * Time.deltaTime, 0.05f * Time.deltaTime);
if (water_time >= water_timeDelay)
{
waterParticle.Stop();
audioSource.Stop();
break;
}
}
}
IEnumerator FireOff()
{
yield return new WaitForSeconds(waitForSeconds);
// 불 파티클 제어
while (fire_time < fire_timeDelay)
{
yield return null;
fire_time += Time.deltaTime;
for (int i = 0; i < fireParticle.Length; i++)
{
fireParticle[i].transform.localScale -= new Vector3(0.05f * Time.deltaTime, 0.05f * Time.deltaTime, 0.05f * Time.deltaTime);
}
if (fire_time >= fire_timeDelay)
{
for (int i = 0; i < fireParticle.Length; i++)
{
fireParticle[i].Stop();
Destroy(F_16_ParticleSet);
}
break;
}
}
}
void OnTriggerEnter(Collider collider)
{
if (collider.tag == "FireFightingTruck" || collider.tag == "Fighter")
{
StartCoroutine(WaterOff());
StartCoroutine(FireOff());
}
}
}