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(); 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; } }