using System; using UnityEngine; // Token: 0x0200000F RID: 15 [ExecuteInEditMode] public class MoonlightRevealer : MonoBehaviour { // Token: 0x060000E4 RID: 228 RVA: 0x00011735 File Offset: 0x0000F935 protected virtual void Start() { this.Create(); } // Token: 0x060000E5 RID: 229 RVA: 0x0001173D File Offset: 0x0000F93D public void Create() { this.mTrans = base.transform; if (this.interiorLight) { if (MoonlightSystem.otherInstance) { this.mRevealer = MoonlightSystem.otherInstance.CreateInteriorRevealer(); return; } } else { this.mRevealer = MoonlightSystem.CreateRevealer(); } } // Token: 0x060000E6 RID: 230 RVA: 0x0001177B File Offset: 0x0000F97B protected virtual void OnDisable() { if (this.mRevealer != null) { if (this.interiorLight) { MoonlightSystem.otherInstance.DeleteInteriorRevealer(this.mRevealer); } else { MoonlightSystem.DeleteRevealer(this.mRevealer); } this.mRevealer = null; } this.RemovePartyLight(); } // Token: 0x060000E7 RID: 231 RVA: 0x000117B7 File Offset: 0x0000F9B7 protected virtual void OnDestroy() { if (this.mRevealer != null) { if (this.interiorLight) { MoonlightSystem.otherInstance.DeleteInteriorRevealer(this.mRevealer); } else { MoonlightSystem.DeleteRevealer(this.mRevealer); } this.mRevealer = null; } this.RemovePartyLight(); } // Token: 0x060000E8 RID: 232 RVA: 0x000117F3 File Offset: 0x0000F9F3 private void RemovePartyLight() { if (this.yOffset != 0f) { new Vector3(-100000f, -100000f, 0f); } } // Token: 0x060000E9 RID: 233 RVA: 0x00011818 File Offset: 0x0000FA18 protected virtual void LateUpdate() { if (this.isActive) { if (this.yOffset == 0f || this.characterID <= -1) { if (this.mRevealer == null) { this.Create(); } if (this.lineOfSightCheck != MoonlightSystem.LOSChecks.OnlyOnce) { this.mRevealer.isValid = false; } if (this.yOffset != 0f) { this.mRevealer.pos = this.mTrans.position + new Vector3(0f, this.yOffset, 0f); } else { this.mRevealer.pos = this.mTrans.position; } this.mRevealer.inner = this.range.x; this.mRevealer.outer = this.range.y; this.mRevealer.los = this.lineOfSightCheck; this.mRevealer.isActive = true; this.mRevealer.lightColor = this.lightColor; return; } Vector3 position = base.gameObject.transform.position; position.y += this.yOffset; Color currentPartyLightColor = Links.x.currentPartyLightColor; if (this.main) { Shader.SetGlobalVector("_PartyLightPosition0", position); Shader.SetGlobalVector("_PartyLightColor0", currentPartyLightColor); float num = 1f; if (Links.x.gameplay.gameHours >= 15f) { num = 1.3f; } if (Links.x.gameplay.gameHours == 16f) { num = 1.7f; } if (Links.x.gameplay.gameHours == 17f) { num = 2f; } if (Links.x.gameplay.gameHours == 18f) { num = 2f; } if (Links.x.gameplay.gameHours == 19f) { num = 2f; } if (Links.x.gameplay.gameHours == 20f) { num = 1.6f; } if (Links.x.gameplay.gameHours == 21f) { num = 1.3f; } if (Links.x.gameplay.gameHours == 22f) { num = 1.2f; } if (currentPartyLightColor == Links.x.torchColor) { if (Links.x.main.indoorID != "") { num = 0.5f; } if (Links.x.main.indoorID != "" || Links.x.gameplay.IsNight()) { Shader.SetGlobalFloat("_Torch", 5f); } else if (Links.x.gameplay.IsEvening()) { Shader.SetGlobalFloat("_Torch", 3f); } else { Shader.SetGlobalFloat("_Torch", 1f); } } else { if (Links.x.main.indoorID != "") { num = 0.75f; } Shader.SetGlobalFloat("_Torch", 0f); } Shader.SetGlobalFloat("_PartyDist0", num); return; } } else if (this.mRevealer.isActive) { this.mRevealer.isActive = false; this.mRevealer.isValid = false; } } // Token: 0x060000EA RID: 234 RVA: 0x00011B64 File Offset: 0x0000FD64 public void Rebuild() { this.mRevealer.isValid = false; } // Token: 0x04000254 RID: 596 private Transform mTrans; // Token: 0x04000255 RID: 597 public bool interiorLight; // Token: 0x04000256 RID: 598 public Color32 lightColor; // Token: 0x04000257 RID: 599 public Vector2 range = new Vector2(0.1f, 4f); // Token: 0x04000258 RID: 600 public MoonlightSystem.LOSChecks lineOfSightCheck = MoonlightSystem.LOSChecks.OnlyOnce; // Token: 0x04000259 RID: 601 public bool isActive = true; // Token: 0x0400025A RID: 602 protected MoonlightSystem.Revealer mRevealer; // Token: 0x0400025B RID: 603 public float yOffset; // Token: 0x0400025C RID: 604 public int characterID = -1; // Token: 0x0400025D RID: 605 public bool main; }