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

274 lines
6.8 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
// Token: 0x02000088 RID: 136
public class SceneCamera : MonoBehaviour
{
// Token: 0x06000DC4 RID: 3524 RVA: 0x00104B3C File Offset: 0x00102D3C
public void Setup()
{
for (int i = 0; i < this.boundingBoxes.Count; i++)
{
this.boundingBoxes[i].enabled = true;
if (!this.boundingBoxes[i].gameObject.name.Contains("Camera"))
{
this.boundingBoxes[i].gameObject.layer = 30;
}
}
this.sceneCamera.enabled = false;
this.sceneCamera.gameObject.tag = "Untagged";
foreach (InteriorLights interiorLights in this.pointLights)
{
interiorLights.LoadScene();
}
}
// Token: 0x06000DC5 RID: 3525 RVA: 0x00104C10 File Offset: 0x00102E10
public void SetupLayers()
{
for (int i = 0; i < this.boundingBoxes.Count; i++)
{
if (!this.boundingBoxes[i].gameObject.name.Contains("Camera"))
{
this.boundingBoxes[i].gameObject.layer = 30;
}
}
}
// Token: 0x06000DC6 RID: 3526 RVA: 0x00104C70 File Offset: 0x00102E70
private void Awake()
{
if (this.backgroundArt)
{
this.backgroundArt.SetActive(true);
}
this.Off();
for (int i = 0; i < this.quads.Count; i++)
{
this.quads[i].Setup(this);
}
foreach (object obj in base.transform)
{
Transform transform = (Transform)obj;
if (transform.name.Contains("Mini"))
{
this.minimapCamera = transform.gameObject.GetComponent<Camera>();
}
}
if (base.gameObject.name.Contains("Inspect") || base.gameObject.name.Contains("Frog") || base.gameObject.name.Contains("inspect") || base.gameObject.name.Contains("frog"))
{
this.cameraCollider.enabled = true;
this.cameraCollider.gameObject.layer = 27;
if (base.gameObject.name.Contains("frog"))
{
Object gameObject = base.gameObject;
GameObject gameObject2 = base.gameObject;
gameObject.name = (gameObject2.name += "Frog");
}
if (base.gameObject.name.Contains("inspect"))
{
Object gameObject3 = base.gameObject;
GameObject gameObject4 = base.gameObject;
gameObject3.name = (gameObject4.name += "Inspect");
}
}
for (int j = 0; j < this.boundingBoxes.Count; j++)
{
this.boundingBoxes[j].enabled = true;
this.boundingBoxes[j].gameObject.layer = 30;
}
for (int k = 0; k < this.interiorCameraBoxes.Count; k++)
{
this.interiorCameraBoxes[k].enabled = false;
this.interiorCameraBoxes[k].gameObject.name = this.boundingBoxes[k].gameObject.name + "_camera";
}
}
// Token: 0x06000DC7 RID: 3527 RVA: 0x00104ED8 File Offset: 0x001030D8
private void Start()
{
}
// Token: 0x06000DC8 RID: 3528 RVA: 0x00104EDC File Offset: 0x001030DC
public void On()
{
Links.x.diorama.currCameraCollider = this.cameraCollider;
if (this.fow)
{
this.fow.SetGlobalShaderVariables();
}
if (this.fowInterior)
{
this.fowInterior.SetGlobalShaderVariables();
}
Links.x.rtsCamera.GetCameraBounds();
this.backgroundArt.SetActive(true);
if (this.index >= 2)
{
for (int i = 0; i < this.quads.Count; i++)
{
this.quads[i].ChangeState(true, false);
}
}
}
// Token: 0x06000DC9 RID: 3529 RVA: 0x00104F7C File Offset: 0x0010317C
public BoxCollider GetIndoorBounds(string interiorID)
{
BoxCollider boxCollider = this.cameraCollider;
for (int i = 0; i < this.boundingBoxes.Count; i++)
{
if (this.boundingBoxes[i].gameObject.name == interiorID)
{
return this.boundingBoxes[i];
}
}
return boxCollider;
}
// Token: 0x06000DCA RID: 3530 RVA: 0x00104FD4 File Offset: 0x001031D4
public string GetInteriorBoundsName(Vector3 pt)
{
pt.y += 30f;
RaycastHit raycastHit;
if (Physics.Raycast(pt, Vector3.up * -1f, out raycastHit, 500f, 1073741824))
{
if (!(raycastHit.collider.gameObject.name == "Camera Collider") && !(raycastHit.collider.gameObject.name == "Exterior Camera Bounds"))
{
return raycastHit.collider.gameObject.name;
}
pt.y = raycastHit.point.y;
pt.y -= 0.1f;
RaycastHit raycastHit2;
if (Physics.Raycast(pt, Vector3.up * -1f, out raycastHit2, 500f, 1073741824))
{
return raycastHit2.collider.gameObject.name;
}
}
return "?";
}
// Token: 0x06000DCB RID: 3531 RVA: 0x001050C0 File Offset: 0x001032C0
public BoxCollider GetInteriorCamera(string boundsName)
{
if (boundsName == null)
{
boundsName = "";
}
string text = boundsName + "_camera";
for (int i = 0; i < this.interiorCameraBoxes.Count; i++)
{
if (this.interiorCameraBoxes[i].gameObject.name == text)
{
return this.interiorCameraBoxes[i];
}
}
for (int j = 0; j < this.boundingBoxes.Count; j++)
{
if (this.boundingBoxes[j].gameObject.name == boundsName)
{
return this.boundingBoxes[j];
}
}
return null;
}
// Token: 0x06000DCC RID: 3532 RVA: 0x00105168 File Offset: 0x00103368
public InteriorLights GetPointLights(BoxCollider box)
{
if (this.pointLights.Count == this.interiorCameraBoxes.Count)
{
for (int i = 0; i < this.interiorCameraBoxes.Count; i++)
{
if (this.interiorCameraBoxes[i] == box)
{
return this.pointLights[i];
}
}
}
return null;
}
// Token: 0x06000DCD RID: 3533 RVA: 0x001051C8 File Offset: 0x001033C8
public int GetPointLightCount(BoxCollider box)
{
if (this.pointLights.Count == this.interiorCameraBoxes.Count)
{
for (int i = 0; i < this.interiorCameraBoxes.Count; i++)
{
if (this.interiorCameraBoxes[i] == box)
{
return this.pointLights[i].lightCount;
}
}
}
return 0;
}
// Token: 0x06000DCE RID: 3534 RVA: 0x0010522A File Offset: 0x0010342A
public void Off()
{
if (this.fow)
{
this.fow.isActive = false;
}
if (this.fowInterior)
{
this.fowInterior.isActive = false;
}
}
// Token: 0x0400163B RID: 5691
public int index;
// Token: 0x0400163C RID: 5692
public string id;
// Token: 0x0400163D RID: 5693
public bool perspectiveShot;
// Token: 0x0400163E RID: 5694
public bool isInterior;
// Token: 0x0400163F RID: 5695
public List<BoxCollider> boundingBoxes = new List<BoxCollider>();
// Token: 0x04001640 RID: 5696
public List<BoxCollider> interiorCameraBoxes = new List<BoxCollider>();
// Token: 0x04001641 RID: 5697
public Camera sceneCamera;
// Token: 0x04001642 RID: 5698
public Camera minimapCamera;
// Token: 0x04001643 RID: 5699
public BoxCollider cameraCollider;
// Token: 0x04001644 RID: 5700
public BoxCollider exteriorCameraBoundsCollider;
// Token: 0x04001645 RID: 5701
public FOWSystem fow;
// Token: 0x04001646 RID: 5702
public FOWSystemInterior fowInterior;
// Token: 0x04001647 RID: 5703
public GameObject terrainMap;
// Token: 0x04001648 RID: 5704
public List<InteriorLights> pointLights = new List<InteriorLights>();
// Token: 0x04001649 RID: 5705
[Header("Art")]
public List<Culling> quads = new List<Culling>();
// Token: 0x0400164A RID: 5706
public GameObject backgroundArt;
// Token: 0x0400164B RID: 5707
public Texture2D sceneMap;
}