Add source files
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace LOS
|
||||
{
|
||||
// Token: 0x02000104 RID: 260
|
||||
[AddComponentMenu("Line of Sight/LOS Culler")]
|
||||
public class LOSCuller : MonoBehaviour
|
||||
{
|
||||
// Token: 0x17000029 RID: 41
|
||||
// (get) Token: 0x060015E6 RID: 5606 RVA: 0x0019C535 File Offset: 0x0019A735
|
||||
// (set) Token: 0x060015E7 RID: 5607 RVA: 0x0019C53D File Offset: 0x0019A73D
|
||||
public LayerMask RaycastLayerMask
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_RaycastLayerMask;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_RaycastLayerMask = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700002A RID: 42
|
||||
// (get) Token: 0x060015E8 RID: 5608 RVA: 0x0019C546 File Offset: 0x0019A746
|
||||
public bool Visibile
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_IsVisible;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060015E9 RID: 5609 RVA: 0x0019C54E File Offset: 0x0019A74E
|
||||
private void OnEnable()
|
||||
{
|
||||
base.enabled &= Util.Verify(base.GetComponent<Renderer>() != null, "No renderer attached to this GameObject! LOS Culler component must be added to a GameObject containing a MeshRenderer or Skinned Mesh Renderer!");
|
||||
}
|
||||
|
||||
// Token: 0x060015EA RID: 5610 RVA: 0x0019C573 File Offset: 0x0019A773
|
||||
private void Update()
|
||||
{
|
||||
this.m_IsVisible = LOSCuller.CustomCull(base.gameObject.GetComponent<Renderer>().bounds, this.m_RaycastLayerMask.value);
|
||||
}
|
||||
|
||||
// Token: 0x060015EB RID: 5611 RVA: 0x0019C59C File Offset: 0x0019A79C
|
||||
private static bool CustomCull(Bounds meshBounds, int layerMask)
|
||||
{
|
||||
List<LOSSource> lossources = LOSManager.Instance.LOSSources;
|
||||
for (int i = 0; i < lossources.Count; i++)
|
||||
{
|
||||
if (LOSHelper.CheckBoundsVisibility(lossources[i], meshBounds, layerMask))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Token: 0x04002615 RID: 9749
|
||||
[Tooltip("Selects which layers block raycasts used for visibility calculations")]
|
||||
[SerializeField]
|
||||
private LayerMask m_RaycastLayerMask = -1;
|
||||
|
||||
// Token: 0x04002616 RID: 9750
|
||||
private bool m_IsVisible = true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user