using System; using UnityEngine; using Random = UnityEngine.Random; namespace UnityStandardAssets.Effects { public class FireLight : MonoBehaviour { private float m_Rnd; private bool m_Burning = true; private Light m_Light; private void Start() { m_Rnd = Random.value*100; m_Light = GetComponent(); } private void Update() { if (m_Burning) { m_Light.intensity = 2*Mathf.PerlinNoise(m_Rnd + Time.time, m_Rnd + 1 + Time.time*1); float x = Mathf.PerlinNoise(m_Rnd + 0 + Time.time*2, m_Rnd + 1 + Time.time*2) - 0.5f; float y = Mathf.PerlinNoise(m_Rnd + 2 + Time.time*2, m_Rnd + 3 + Time.time*2) - 0.5f; float z = Mathf.PerlinNoise(m_Rnd + 4 + Time.time*2, m_Rnd + 5 + Time.time*2) - 0.5f; transform.localPosition = Vector3.up + new Vector3(x, y, z)*1; } } public void Extinguish() { m_Burning = false; m_Light.enabled = false; } } }