using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core; using UnityEngine; namespace RecRoom.Content.VFX { // Token: 0x020023DA RID: 9178 [Token(Token = "0x20023DA")] [ExecuteInEditMode] [RequireComponent(typeof(Light))] [StructLayout(3)] public class WaterCausticsLight : MonoBehaviour { // Token: 0x0600FE2C RID: 65068 RVA: 0x003B76A8 File Offset: 0x003B58A8 [Token(Token = "0x600FE2C")] [Address(RVA = "0x17B2170", Offset = "0x17B0B70", VA = "0x1817B2170")] 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: 0x0600FE2D RID: 65069 RVA: 0x003B76FC File Offset: 0x003B58FC [Token(Token = "0x600FE2D")] [Address(RVA = "0x17B2250", Offset = "0x17B0C50", VA = "0x1817B2250")] private void Update() { if (this.alphaMap && this.cookie && this.IDANKLAHBBD) { int num = 0; CameraRig instance = SingletonMonoBehaviour.Instance; int num2 = 0; if (instance != num2) { Transform transform = SingletonMonoBehaviour.Instance.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: 0x0600FE2E RID: 65070 RVA: 0x003B78D0 File Offset: 0x003B5AD0 [Token(Token = "0x600FE2E")] [Address(RVA = "0x17B1D50", Offset = "0x17B0750", VA = "0x1817B1D50")] private void OnDestroy() { SafeDestroy.Asset(this.IDANKLAHBBD); } // Token: 0x0600FE2F RID: 65071 RVA: 0x003B78E8 File Offset: 0x003B5AE8 [Token(Token = "0x600FE2F")] [Address(RVA = "0x17B1D60", Offset = "0x17B0760", VA = "0x1817B1D60")] 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: 0x0600FE30 RID: 65072 RVA: 0x003B797C File Offset: 0x003B5B7C [Token(Token = "0x600FE30")] [Address(RVA = "0x17B27B0", Offset = "0x17B11B0", VA = "0x1817B27B0")] public WaterCausticsLight() { Color white = Color.white; this.heightBlendEnd = -0.5f; Color white2 = Color.white; base..ctor(); } // Token: 0x0400A88A RID: 43146 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400A88A")] [SerializeField] [Header("Textures")] private Texture alphaMap; // Token: 0x0400A88B RID: 43147 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400A88B")] [SerializeField] private Texture displacementNormals; // Token: 0x0400A88C RID: 43148 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400A88C")] [SerializeField] private RenderTexture cookie; // Token: 0x0400A88D RID: 43149 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400A88D")] [SerializeField] private Shader causticsShader; // Token: 0x0400A88E RID: 43150 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400A88E")] [SerializeField] [Header("Motion")] [Range(0f, 1f)] private float distortAmount; // Token: 0x0400A88F RID: 43151 [global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")] [Token(Token = "0x400A88F")] [SerializeField] private Vector2 alphaSpeed; // Token: 0x0400A890 RID: 43152 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x400A890")] [SerializeField] private Vector2 distortSpeed; // Token: 0x0400A891 RID: 43153 [global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")] [Token(Token = "0x400A891")] private Vector4 JIIHEKOMFJP; // Token: 0x0400A892 RID: 43154 [global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")] [Token(Token = "0x400A892")] [SerializeField] [Header("World Integration")] [Range(0f, 1f)] private float causticsAmount; // Token: 0x0400A893 RID: 43155 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400A893")] [SerializeField] private bool useHeightBlend; // Token: 0x0400A894 RID: 43156 [global::Cpp2IlInjected.FieldOffset(Offset = "0x64")] [Token(Token = "0x400A894")] [SerializeField] private float heightBlendStart = 0.5f; // Token: 0x0400A895 RID: 43157 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400A895")] [SerializeField] private Color heightBlendStartLightColor; // Token: 0x0400A896 RID: 43158 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400A896")] [SerializeField] private float heightBlendEnd; // Token: 0x0400A897 RID: 43159 [global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")] [Token(Token = "0x400A897")] [SerializeField] private Color heightBlendEndLightColor; // Token: 0x0400A898 RID: 43160 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400A898")] private Material IDANKLAHBBD; // Token: 0x0400A899 RID: 43161 [Token(Token = "0x400A899")] private static readonly int GHBGCBCELFE = Shader.PropertyToID("_NormalMap"); // Token: 0x0400A89A RID: 43162 [Token(Token = "0x400A89A")] private static readonly int BBJNKGCIKKN = Shader.PropertyToID("_DistortAmount"); // Token: 0x0400A89B RID: 43163 [Token(Token = "0x400A89B")] private static readonly int KGCFGNHHEJD = Shader.PropertyToID("_Speeds"); // Token: 0x0400A89C RID: 43164 [Token(Token = "0x400A89C")] private static readonly int CHFDEOKNKGI = Shader.PropertyToID("_CausticsAmount"); // Token: 0x0400A89D RID: 43165 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400A89D")] private Light KOBMAHGNLDC; } }