Files
FPS-Kit-2.0/Assets/FPS Kit Version 2.0/_CustomAssets/Detonator/System/DetonatorLight.cs
T
reedgamingstudio 5b8ebb7a35 test
testing
2014-12-16 00:23:12 -06:00

63 lines
1.4 KiB
C#

using UnityEngine;
using System.Collections;
[RequireComponent (typeof (Detonator))]
[AddComponentMenu("Detonator/Light")]
public class DetonatorLight : DetonatorComponent {
private float _baseIntensity = 1f;
private Color _baseColor = Color.white;
private float _scaledDuration = 0f;
private float _explodeTime = -1000f;
private GameObject _light;
private Light _lightComponent;
public float intensity;
override public void Init()
{
_light = new GameObject ("Light");
_light.transform.parent = this.transform;
_light.transform.localPosition = localPosition;
_lightComponent = (Light)_light.AddComponent ("Light");
_lightComponent.type = LightType.Point;
_lightComponent.enabled = false;
}
private float _reduceAmount = 0f;
void Update ()
{
if ((_explodeTime + _scaledDuration > Time.time) && _lightComponent.intensity > 0f)
{
_reduceAmount = intensity * (Time.deltaTime/_scaledDuration);
_lightComponent.intensity -= _reduceAmount;
}
else
{
if (_lightComponent)
{
_lightComponent.enabled = false;
}
}
}
override public void Explode()
{
if (detailThreshold > detail) return;
_lightComponent.color = color;
_lightComponent.range = size * 50f;
_scaledDuration = (duration * timeScale);
_lightComponent.enabled = true;
_lightComponent.intensity = intensity;
_explodeTime = Time.time;
}
public void Reset()
{
color = _baseColor;
intensity = _baseIntensity;
}
}