|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
using System.Collections;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Suimono.Core
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
public class fx_causticModule : MonoBehaviour {
|
|
|
|
|
|
|
|
|
|
|
|
//PUBLIC VARIABLES
|
|
|
|
|
|
public bool enableCaustics = true;
|
|
|
|
|
|
public Light sceneLightObject;
|
|
|
|
|
|
public bool inheritLightColor = false;
|
|
|
|
|
|
public bool inheritLightDirection = false;
|
|
|
|
|
|
public Color causticTint = new Color(1f,1f,1f,1f);
|
|
|
|
|
|
public float causticIntensity = 2f;
|
|
|
|
|
|
public float causticScale = 4f;
|
|
|
|
|
|
public float heightFac = 0f;
|
|
|
|
|
|
public int causticFPS = 32;
|
|
|
|
|
|
public Texture2D[] causticFrames;
|
|
|
|
|
|
public Texture2D useTex;
|
|
|
|
|
|
|
|
|
|
|
|
//PRIVATE VARIABLES
|
|
|
|
|
|
private float causticsTime = 0f;
|
|
|
|
|
|
private Suimono.Core.SuimonoModule moduleObject;
|
|
|
|
|
|
private GameObject lightObject;
|
|
|
|
|
|
private int frameIndex = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Start () {
|
|
|
|
|
|
//get master objects
|
|
|
|
|
|
moduleObject = (Suimono.Core.SuimonoModule) FindObjectOfType(typeof(Suimono.Core.SuimonoModule));
|
|
|
|
|
|
lightObject = transform.Find("mainCausticObject").gameObject;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void LateUpdate () {
|
|
|
|
|
|
|
|
|
|
|
|
if (this.enabled){
|
|
|
|
|
|
|
|
|
|
|
|
useTex = causticFrames[frameIndex];
|
|
|
|
|
|
causticsTime += Time.deltaTime;
|
|
|
|
|
|
if (causticsTime > (1f/(causticFPS*1f))){
|
|
|
|
|
|
causticsTime = 0f;
|
|
|
|
|
|
frameIndex += 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (frameIndex == causticFrames.Length) frameIndex = 0;
|
|
|
|
|
|
|
|
|
|
|
|
if (moduleObject != null){
|
|
|
|
|
|
if (moduleObject.setLight != null){
|
|
|
|
|
|
sceneLightObject = moduleObject.setLight;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (lightObject != null){
|
|
|
|
|
|
lightObject.SetActive(moduleObject.enableCaustics);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|