diff options
author | chai <chaifix@163.com> | 2021-09-17 20:09:19 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-17 20:09:19 +0800 |
commit | 234c25bc8761a4d41bc5b4aa362449cf3e806e13 (patch) | |
tree | 69cc0b7002ac8018af1806de366526dfc089d49e /Assets/Scripts/Unit/Components/UnitRender.cs | |
parent | ea4624fbef6e9d8f58da12be363807eb19a37b53 (diff) |
*unit image effect
Diffstat (limited to 'Assets/Scripts/Unit/Components/UnitRender.cs')
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitRender.cs | 35 |
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;
+ }
+ } + } |