summaryrefslogtreecommitdiff
path: root/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs')
-rw-r--r--Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs b/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs
new file mode 100644
index 0000000..dd78829
--- /dev/null
+++ b/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/Ledge.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Ledge : MonoBehaviour
+{
+ public Collider m_collider;
+
+ public TriggerTracker m_above;
+
+ private void Awake()
+ {
+ if (GetComponent<ZNetView>().GetZDO() != null)
+ {
+ m_collider.enabled = true;
+ TriggerTracker above = m_above;
+ above.m_changed = (Action)Delegate.Combine(above.m_changed, new Action(Changed));
+ }
+ }
+
+ private void Changed()
+ {
+ List<Collider> colliders = m_above.GetColliders();
+ if (colliders.Count == 0)
+ {
+ m_collider.enabled = true;
+ return;
+ }
+ bool flag = false;
+ foreach (Collider item in colliders)
+ {
+ if (item.transform.position.y > base.transform.position.y)
+ {
+ flag = true;
+ break;
+ }
+ }
+ m_collider.enabled = flag;
+ }
+}