summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit/Components/UnitRender.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-17 20:09:19 +0800
committerchai <chaifix@163.com>2021-09-17 20:09:19 +0800
commit234c25bc8761a4d41bc5b4aa362449cf3e806e13 (patch)
tree69cc0b7002ac8018af1806de366526dfc089d49e /Assets/Scripts/Unit/Components/UnitRender.cs
parentea4624fbef6e9d8f58da12be363807eb19a37b53 (diff)
*unit image effect
Diffstat (limited to 'Assets/Scripts/Unit/Components/UnitRender.cs')
-rw-r--r--Assets/Scripts/Unit/Components/UnitRender.cs35
1 files changed, 33 insertions, 2 deletions
diff --git a/Assets/Scripts/Unit/Components/UnitRender.cs b/Assets/Scripts/Unit/Components/UnitRender.cs
index 435c517d..d1ea0ffb 100644
--- a/Assets/Scripts/Unit/Components/UnitRender.cs
+++ b/Assets/Scripts/Unit/Components/UnitRender.cs
@@ -6,17 +6,33 @@ using UnityEngine;
[DisallowMultipleComponent]
public class UnitRender : UnitComponent
{
+ private IBodyRendererAgent m_Body;
+
+ public Renderer mainRenderer
+ {
+ get
+ {
+ if (this.owner.unitDetail == null)
+ return null;
+ return m_Body.mainRenderer.renderer;
+ }
+ }
public override void Initialize()
{
base.Initialize();
}
+ public override void OnPostInitialize()
+ {
+ base.OnPostInitialize();
+ m_Body = owner.unitDetail as IBodyRendererAgent;
+ }
+
public void SetVisibilityInMainCamera(bool isVisible)
{
LayerMask mask = LayerMask.GetMask("PlayerCharacter");
-
- if(!isVisible)
+ if (!isVisible)
{
SceneManager.Instance.mainCamera.cullingMask &= ~mask.value;
}
@@ -26,4 +42,19 @@ public class UnitRender : UnitComponent
}
}
+ public void SetVisibilityInAllCameras(bool isVisible)
+ {
+ if (mainRenderer == null)
+ return;
+
+ if (isVisible)
+ {
+ mainRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.On;
+ }
+ else
+ {
+ mainRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly;
+ }
+ }
+
}