summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs33
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;
}