diff options
author | chai <chaifix@163.com> | 2022-04-21 10:16:07 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-21 10:16:07 +0800 |
commit | ce61a784968de6510db6df005ee7659644ad6c31 (patch) | |
tree | 8fe3eec512df7e3c87f880c01e82442754346cec /AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs | |
parent | 7afd786d08c9976fcafb9fcaf0751a2af07fc5fd (diff) |
*misc
Diffstat (limited to 'AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs')
-rw-r--r-- | AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs index 6741275..58d00c2 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs @@ -26,34 +26,45 @@ public class TopDownShadowCaster : MonoBehaviour m_Coord = GetComponent<TopDownTransform>(); m_SpriteRenderer = GetComponent<SpriteRenderer>(); + // + for(int i = this.transform.childCount - 1; i >= 0 ; --i) + { + GameObject child = this.transform.GetChild(i).gameObject; + if (child.name == "shadow") + { +#if UNITY_EDITOR + DestroyImmediate(child); +#else + Destroy(child); +#endif + } + } + if (m_Shadow == null) { m_Shadow = new GameObject("shadow"); - m_Shadow.hideFlags = HideFlags.HideAndDontSave; - m_Shadow.transform.SetParent(transform); +// m_Shadow.hideFlags = HideFlags.HideAndDontSave; + m_Shadow.transform.SetParent(transform); m_Shadow.transform.localScale = m_Scale; - + m_ShadowRenderer = m_Shadow.AddComponent<SpriteRenderer>(); m_ShadowRenderer.color = m_Color; m_ShadowRenderer.sprite = m_SpriteRenderer.sprite; m_ShadowRenderer.sortingLayerName = "Shadow"; - } } - private void Start() - { - } - private void Update() { - if (m_Shadow == null) - return; - m_ShadowRenderer.color = m_Color; m_ShadowRenderer.sprite = m_SpriteRenderer.sprite; + SetPosition(); + } + + void SetPosition() + { Vector3 pos = m_Coord.GetGround3DPosition(); m_Shadow.transform.position = pos; } |