summaryrefslogtreecommitdiff
path: root/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs')
-rw-r--r--Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs b/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs
new file mode 100644
index 0000000..ae4d2dd
--- /dev/null
+++ b/Valheim_v0.141.2_r202102/Valheim/assembly_valheim/LodFadeInOut.cs
@@ -0,0 +1,30 @@
+using UnityEngine;
+
+public class LodFadeInOut : MonoBehaviour
+{
+ private Vector3 m_originalLocalRef;
+
+ private LODGroup m_lodGroup;
+
+ private const float m_minTriggerDistance = 20f;
+
+ private void Awake()
+ {
+ Camera mainCamera = Utils.GetMainCamera();
+ if (!(mainCamera == null) && Vector3.Distance(mainCamera.transform.position, base.transform.position) > 20f)
+ {
+ m_lodGroup = GetComponent<LODGroup>();
+ if ((bool)m_lodGroup)
+ {
+ m_originalLocalRef = m_lodGroup.localReferencePoint;
+ m_lodGroup.localReferencePoint = new Vector3(999999f, 999999f, 999999f);
+ Invoke("FadeIn", Random.Range(0.1f, 0.3f));
+ }
+ }
+ }
+
+ private void FadeIn()
+ {
+ m_lodGroup.localReferencePoint = m_originalLocalRef;
+ }
+}