diff options
Diffstat (limited to 'AlienSurvival/Assets/Scripts/TopDown')
5 files changed, 28 insertions, 17 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; } diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs.meta b/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs.meta index 59d316e..24ecda5 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs.meta +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownShadowCaster.cs.meta @@ -4,7 +4,7 @@ MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] - executionOrder: 8 + executionOrder: 9 icon: {instanceID: 0} userData: assetBundleName: diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs index c6841c8..6455f2c 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs @@ -10,7 +10,7 @@ public class TopDownSorting : MonoBehaviour private SpriteRenderer m_SpriteRenderer; private TopDownTransform m_Coord; - private void Start() + private void Awake() { m_SpriteRenderer = GetComponent<SpriteRenderer>(); m_Coord = GetComponent<TopDownTransform>(); diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs.meta b/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs.meta index f454cf2..33f3c75 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs.meta +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownSorting.cs.meta @@ -4,7 +4,7 @@ MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] - executionOrder: 7 + executionOrder: 8 icon: {instanceID: 0} userData: assetBundleName: diff --git a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs index 35e6b79..ce7421a 100644 --- a/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs +++ b/AlienSurvival/Assets/Scripts/TopDown/TopDownTransform.cs @@ -122,7 +122,7 @@ public class TopDownTransform : MonoBehaviour transform.localPosition = pos; } - private void Start() + private void Awake() { SpriteRenderer sr = GetComponent<SpriteRenderer>(); if (sr) @@ -155,8 +155,8 @@ public class TopDownTransform : MonoBehaviour { Vector3 pos = new Vector3(); pos.x = m_LocalPosition.x; - pos.y = m_LocalPosition.y ; - pos.z = transform.localPosition.z; + pos.y = m_LocalPosition.y; + pos.z = transform.position.z; return pos; } #endregion |