using UnityEngine;
using System.Collections;
using Chronos;
///
/// 褪色效果
///
public class FadeIn : MonoBehaviour {
///
/// 生命周期
///
public float lifeCycle = 2.0f;
///
/// 材质
///
public Material mat;
///
/// 颜色
///
//public Color color;
public float scale;
///
/// 时钟组件
///
public Timeline time;
// Use this for initialization
void Start ()
{
MeshRenderer meshRenderer = GetComponent();//获取网格渲染组件
if( !meshRenderer || !meshRenderer.material)//不存在网格渲染组件或者不存在材质
{
base.enabled = false;//禁用
}
else
{
mat = meshRenderer.material;//获取材质
//ReplaceShader();//更换shader
}
}
// Update is called once per frame
void Update ()
{
//float time = Time.time - startTime;//经过的时间
lifeCycle = lifeCycle - time.deltaTime;//剩余时间
if(lifeCycle <= 0)//经过时间大于生命周期
{
//Destroy self.
Destroy(gameObject); //销毁对象
}
else
{
if(mat)//是否有材质
{
if (mat.HasProperty("_Scale"))//材质包含属性"_Scale"
{
mat.SetFloat("_Scale", scale * lifeCycle);//根据残余时间设置透明度
}
}
}
}
///
/// 更换shader
///
private void ReplaceShader()
{
// mat.shader = Shader.Find("AdonShader/DamageFlash");//重新设置shader为Custom/OutlineShader
//mat.SetFloat("_Scale", 2);//根据残余时间设置透明度
//if (mat.HasProperty("_Scale"))//材质包含属性"_Scale"
//{
// mat.SetFloat("_Scale", scale);//根据残余时间设置透明度
//}
//if (mat.HasProperty("_Power"))
//{
// mat.SetFloat("_Power", 1);
//}
}
}