Files
BepInEx/Projects/BanquetForFools/Source/Assembly-CSharp/FOWRevealer.cs
2025-05-21 20:40:04 +02:00

123 lines
2.7 KiB
C#

using System;
using UnityEngine;
// Token: 0x0200000B RID: 11
public class FOWRevealer : MonoBehaviour
{
// Token: 0x0600008F RID: 143 RVA: 0x0000CC1B File Offset: 0x0000AE1B
protected virtual void Start()
{
this.mTrans = base.transform;
this.mRevealer = FOWSystem.CreateRevealer();
}
// Token: 0x06000090 RID: 144 RVA: 0x0000CC34 File Offset: 0x0000AE34
protected virtual void OnDisable()
{
if (this.temporary && this.tempCount < 15)
{
return;
}
if (this.mRevealer != null)
{
this.mRevealer.isActive = false;
}
}
// Token: 0x06000091 RID: 145 RVA: 0x0000CC5D File Offset: 0x0000AE5D
protected virtual void OnDestroy()
{
if (this.mRevealer != null)
{
FOWSystem.DeleteRevealer(this.mRevealer);
this.mRevealer = null;
}
}
// Token: 0x06000092 RID: 146 RVA: 0x0000CC7C File Offset: 0x0000AE7C
protected virtual void LateUpdate()
{
if (this.isActive)
{
if (this.lineOfSightCheck != FOWSystem.LOSChecks.OnlyOnce)
{
this.mRevealer.isValid = false;
}
if (this.main || Records.x.mainMenuOpen)
{
if (!this.character)
{
this.character = base.gameObject.GetComponent<Character>();
}
if (this.character)
{
this.character.UpdateCC();
if (this.character.mainSelected)
{
this.range = new Vector2(0.1f, this.character.stats.SightRadius(false, false, true));
}
else
{
this.range = new Vector2(1f, 4f);
}
}
}
this.mRevealer.pos = this.mTrans.position + new Vector3(0f, 3f, 0f);
this.mRevealer.inner = this.range.x;
this.mRevealer.outer = this.range.y;
this.mRevealer.los = this.lineOfSightCheck;
this.mRevealer.isActive = true;
if (this.temporary && this.tempCount > 15)
{
base.gameObject.SetActive(false);
}
if (this.temporary)
{
this.tempCount++;
return;
}
}
else if (this.mRevealer.isActive)
{
this.mRevealer.isActive = false;
this.mRevealer.isValid = false;
}
}
// Token: 0x06000093 RID: 147 RVA: 0x0000CE0C File Offset: 0x0000B00C
public void Rebuild()
{
this.mRevealer.isValid = false;
}
// Token: 0x040001EA RID: 490
private Transform mTrans;
// Token: 0x040001EB RID: 491
public Character character;
// Token: 0x040001EC RID: 492
private string currentTimeOfDay;
// Token: 0x040001ED RID: 493
public bool main;
// Token: 0x040001EE RID: 494
public Vector2 range;
// Token: 0x040001EF RID: 495
public FOWSystem.LOSChecks lineOfSightCheck = FOWSystem.LOSChecks.EveryUpdate;
// Token: 0x040001F0 RID: 496
public bool isActive = true;
// Token: 0x040001F1 RID: 497
public bool temporary;
// Token: 0x040001F2 RID: 498
private int tempCount;
// Token: 0x040001F3 RID: 499
protected FOWSystem.Revealer mRevealer;
}