253 lines
7.5 KiB
C#
253 lines
7.5 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Content.VFX
|
|
{
|
|
// Token: 0x02002664 RID: 9828
|
|
[Token(Token = "0x2002664")]
|
|
[ExecuteInEditMode]
|
|
[RequireComponent(typeof(Light))]
|
|
public class WaterCausticsLight : MonoBehaviour
|
|
{
|
|
// Token: 0x06010113 RID: 65811 RVA: 0x003A4EFC File Offset: 0x003A30FC
|
|
[Token(Token = "0x6010113")]
|
|
[Address(RVA = "0x139E320", Offset = "0x139D120", VA = "0x18139E320")]
|
|
private void Start()
|
|
{
|
|
Light component = base.GetComponent<Light>();
|
|
this.KOBMAHGNLDC = component;
|
|
if (component.type == LightType.Directional)
|
|
{
|
|
Material material = new Material(this.causticsShader);
|
|
this.IDANKLAHBBD = material;
|
|
return;
|
|
}
|
|
Debug.LogWarning("WaterCausticsLight only works with Directional lights. Disabling effect.", this);
|
|
int num = 0;
|
|
base.enabled = num != 0;
|
|
}
|
|
|
|
// Token: 0x06010114 RID: 65812 RVA: 0x003A4F50 File Offset: 0x003A3150
|
|
[Token(Token = "0x6010114")]
|
|
[Address(RVA = "0x139E400", Offset = "0x139D200", VA = "0x18139E400")]
|
|
private void Update()
|
|
{
|
|
if (this.alphaMap && this.cookie && this.IDANKLAHBBD)
|
|
{
|
|
int num = 0;
|
|
CameraRig instance = SingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num2 = 0;
|
|
if (instance != num2)
|
|
{
|
|
Transform transform = SingletonMonoBehaviour.ONCPNMDGGKG.CHLMFLCFGFL.transform;
|
|
}
|
|
if (num && this.useHeightBlend)
|
|
{
|
|
Transform transform2 = base.transform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform3 = base.transform;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 vector3;
|
|
float z3 = vector3.z;
|
|
Color color = this.heightBlendStartLightColor;
|
|
Light kobmahgnldc = this.KOBMAHGNLDC;
|
|
Color color2 = this.heightBlendEndLightColor;
|
|
}
|
|
Light kobmahgnldc2 = this.KOBMAHGNLDC;
|
|
RenderTexture renderTexture = this.cookie;
|
|
kobmahgnldc2.cookie = renderTexture;
|
|
Vector2 vector4 = this.alphaSpeed;
|
|
this.JIIHEKOMFJP = vector4;
|
|
float y = this.alphaSpeed.y;
|
|
this.JIIHEKOMFJP.y = y;
|
|
Vector2 vector5 = this.distortSpeed;
|
|
this.JIIHEKOMFJP.z = vector5;
|
|
float y2 = this.distortSpeed.y;
|
|
this.JIIHEKOMFJP.w = y2;
|
|
Material idanklahbbd = this.IDANKLAHBBD;
|
|
Texture texture = this.displacementNormals;
|
|
int ghbgcbcelfe = WaterCausticsLight.GHBGCBCELFE;
|
|
idanklahbbd.SetTextureImpl(ghbgcbcelfe, texture);
|
|
Material idanklahbbd2 = this.IDANKLAHBBD;
|
|
float num3 = this.distortAmount;
|
|
int bbjnkgcikkn = WaterCausticsLight.BBJNKGCIKKN;
|
|
idanklahbbd2.SetFloatImpl(bbjnkgcikkn, num3);
|
|
Material idanklahbbd3 = this.IDANKLAHBBD;
|
|
Vector4 jiihekomfjp = this.JIIHEKOMFJP;
|
|
int kgcfgnhhejd = WaterCausticsLight.KGCFGNHHEJD;
|
|
idanklahbbd3.SetVector(kgcfgnhhejd, jiihekomfjp);
|
|
Material idanklahbbd4 = this.IDANKLAHBBD;
|
|
int chfdeoknkgi = WaterCausticsLight.CHFDEOKNKGI;
|
|
idanklahbbd4.SetFloatImpl(chfdeoknkgi, num3);
|
|
Texture texture2 = this.alphaMap;
|
|
RenderTexture renderTexture2 = this.cookie;
|
|
Material idanklahbbd5 = this.IDANKLAHBBD;
|
|
Graphics.Blit(texture2, renderTexture2, idanklahbbd5);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010115 RID: 65813 RVA: 0x003A5124 File Offset: 0x003A3324
|
|
[Token(Token = "0x6010115")]
|
|
[Address(RVA = "0x139DF00", Offset = "0x139CD00", VA = "0x18139DF00")]
|
|
private void OnDestroy()
|
|
{
|
|
OMCHJHPFBDN.KBFLHNONOHF(this.IDANKLAHBBD);
|
|
}
|
|
|
|
// Token: 0x06010116 RID: 65814 RVA: 0x003A513C File Offset: 0x003A333C
|
|
[Token(Token = "0x6010116")]
|
|
[Address(RVA = "0x139DF10", Offset = "0x139CD10", VA = "0x18139DF10")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
int num = 0;
|
|
if ((this.useHeightBlend ? 1 : 0) != num)
|
|
{
|
|
Transform transform = base.transform;
|
|
Transform transform2 = base.transform;
|
|
Transform transform3 = base.transform;
|
|
Transform transform4 = base.transform;
|
|
Transform transform5 = base.transform;
|
|
Transform transform6 = base.transform;
|
|
Transform transform7 = base.transform;
|
|
Transform transform8 = base.transform;
|
|
Color red = Color.red;
|
|
Color white = Color.white;
|
|
Transform transform9 = base.transform;
|
|
Color cyan = Color.cyan;
|
|
Color white2 = Color.white;
|
|
Color blue = Color.blue;
|
|
Color white3 = Color.white;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010117 RID: 65815 RVA: 0x003A51D0 File Offset: 0x003A33D0
|
|
[Token(Token = "0x6010117")]
|
|
[Address(RVA = "0x139E960", Offset = "0x139D760", VA = "0x18139E960")]
|
|
public WaterCausticsLight()
|
|
{
|
|
Color white = Color.white;
|
|
this.heightBlendEnd = -0.5f;
|
|
Color white2 = Color.white;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400A901 RID: 43265
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400A901")]
|
|
[SerializeField]
|
|
[Header("Textures")]
|
|
private Texture alphaMap;
|
|
|
|
// Token: 0x0400A902 RID: 43266
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400A902")]
|
|
[SerializeField]
|
|
private Texture displacementNormals;
|
|
|
|
// Token: 0x0400A903 RID: 43267
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400A903")]
|
|
[SerializeField]
|
|
private RenderTexture cookie;
|
|
|
|
// Token: 0x0400A904 RID: 43268
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400A904")]
|
|
[SerializeField]
|
|
private Shader causticsShader;
|
|
|
|
// Token: 0x0400A905 RID: 43269
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400A905")]
|
|
[SerializeField]
|
|
[Header("Motion")]
|
|
[Range(0f, 1f)]
|
|
private float distortAmount;
|
|
|
|
// Token: 0x0400A906 RID: 43270
|
|
[FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x400A906")]
|
|
[SerializeField]
|
|
private Vector2 alphaSpeed;
|
|
|
|
// Token: 0x0400A907 RID: 43271
|
|
[FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x400A907")]
|
|
[SerializeField]
|
|
private Vector2 distortSpeed;
|
|
|
|
// Token: 0x0400A908 RID: 43272
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400A908")]
|
|
private Vector4 JIIHEKOMFJP;
|
|
|
|
// Token: 0x0400A909 RID: 43273
|
|
[FieldOffset(Offset = "0x5C")]
|
|
[Token(Token = "0x400A909")]
|
|
[SerializeField]
|
|
[Header("World Integration")]
|
|
[Range(0f, 1f)]
|
|
private float causticsAmount;
|
|
|
|
// Token: 0x0400A90A RID: 43274
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400A90A")]
|
|
[SerializeField]
|
|
private bool useHeightBlend;
|
|
|
|
// Token: 0x0400A90B RID: 43275
|
|
[FieldOffset(Offset = "0x64")]
|
|
[Token(Token = "0x400A90B")]
|
|
[SerializeField]
|
|
private float heightBlendStart = 0.5f;
|
|
|
|
// Token: 0x0400A90C RID: 43276
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400A90C")]
|
|
[SerializeField]
|
|
private Color heightBlendStartLightColor;
|
|
|
|
// Token: 0x0400A90D RID: 43277
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x400A90D")]
|
|
[SerializeField]
|
|
private float heightBlendEnd;
|
|
|
|
// Token: 0x0400A90E RID: 43278
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x400A90E")]
|
|
[SerializeField]
|
|
private Color heightBlendEndLightColor;
|
|
|
|
// Token: 0x0400A90F RID: 43279
|
|
[FieldOffset(Offset = "0x90")]
|
|
[Token(Token = "0x400A90F")]
|
|
private Material IDANKLAHBBD;
|
|
|
|
// Token: 0x0400A910 RID: 43280
|
|
[Token(Token = "0x400A910")]
|
|
private static readonly int GHBGCBCELFE = Shader.PropertyToID("_NormalMap");
|
|
|
|
// Token: 0x0400A911 RID: 43281
|
|
[Token(Token = "0x400A911")]
|
|
private static readonly int BBJNKGCIKKN = Shader.PropertyToID("_DistortAmount");
|
|
|
|
// Token: 0x0400A912 RID: 43282
|
|
[Token(Token = "0x400A912")]
|
|
private static readonly int KGCFGNHHEJD = Shader.PropertyToID("_Speeds");
|
|
|
|
// Token: 0x0400A913 RID: 43283
|
|
[Token(Token = "0x400A913")]
|
|
private static readonly int CHFDEOKNKGI = Shader.PropertyToID("_CausticsAmount");
|
|
|
|
// Token: 0x0400A914 RID: 43284
|
|
[FieldOffset(Offset = "0x98")]
|
|
[Token(Token = "0x400A914")]
|
|
private Light KOBMAHGNLDC;
|
|
}
|
|
}
|